2010-12-30 34 views
11

Tôi đang tìm mô-đun PAM có thể sử dụng OpenID để thực hiện xác thực. Ý tưởng của tôi là tôi muốn đăng nhập vào hộp Linux của mình bằng tài khoản và mật khẩu gmail của mình. Tôi thấy có một số open source project trong Google Code dường như đang thực hiện những điều tôi muốn nhưng tôi không thấy bất kỳ mã nào có sẵn để tải xuống.Mô-đun PID OpenID

Tôi thấy có quá nhiều ví dụ hoặc triển khai nhưng tất cả đều là về ứng dụng web. Có bất kỳ ứng dụng OpenID không dựa trên web nào trên thế giới không? Về mặt kỹ thuật, có thể tạo ứng dụng OpenID không dựa trên web không? Tôi ngây thơ nghĩ rằng nó sẽ là có thể. Tôi có thể mô phỏng bất kỳ gói nào mà trình duyệt gửi tới nhà cung cấp OpenID và lấy lại kết quả. Miễn là hộp Linux của tôi được kết nối với Internet, tôi sẽ có thể sử dụng OpenID của mình để đăng nhập.

Đánh giá cao bất kỳ nhận xét, đề xuất hoặc chỉ dẫn nào về cách tạo mô-đun PID OpenID.

Cảm ơn!

+2

Nhà cung cấp OpenID sẽ yêu cầu người dùng xác nhận yêu cầu như thế nào? –

+0

@Ignacio Tôi hoàn toàn hiểu nhầm một số khái niệm cơ bản? Tôi đã có tài khoản gamel [email protected] Gmail là nhà cung cấp OpenID của tôi. Tôi có thể định cấu hình mô-đun OpenID PAM của mình để sử dụng gmail.com làm nhà cung cấp OpenID. Sau đó, tôi có thể đăng nhập vào hộp Linux của mình bằng cách nhập "[email protected]" làm tên người dùng và sau đó nhập mật khẩu tài khoản gmail của tôi. Mô-đun PAM sẽ liên hệ với gmail.com và gmail.com tất nhiên có thể xác nhận yêu cầu của tôi vì nó biết tài khoản [email protected] của tôi và nó biết mật khẩu của tôi. Gmail.com xác nhận xem thông tin đăng nhập có hợp lệ hay không. –

+0

Không thể thực hiện xác thực openid bảo mật, không web vì một lý do đơn giản: OpenID phụ thuộc vào thực tế là bạn biết bạn đã kết nối với nhà cung cấp. Trong tất cả các trường hợp khác, một bên phụ thuộc (ví dụ: mô-đun pam) có thể chặn thông tin đăng nhập và mật khẩu của bạn và bạn không muốn điều đó. Vì các ứng dụng không phải trên web không thể tin cậy để không chặn lưu lượng truy cập/tổ hợp phím của bạn, bạn không thể triển khai openid bên ngoài web. Đối với mô-đun pam, có một vấn đề khác: xác thực với nhà cung cấp yêu cầu tương tác của người dùng. Gmail không biết bạn trừ khi bạn cho mật khẩu của mình. – Mewp

Trả lời

6

Tôi có thể làm sai yêu cầu, nhưng Google (ví dụ) cung cấp cách cho phép phía Ứng dụng và ứng dụng được cài đặt xác thực thông qua API của Google bằng các tiêu chuẩn OpenAUTH 2.0.

Như bạn có thể thấy trong Using OAuth 2.0 for Installed Applications hoặc thậm chí nhiều hơn trong Using OAuth 2.0 for Devices.

Có bạn vẫn cần sử dụng tương tác với trình duyệt, nhưng, python cũng như ASP.NET có thể xử lý yêu cầu web và cho phần Linux, Gnome cũng thông qua các công cụ WebKitGTK +.

Đây có thể là hướng dẫn cho nghiên cứu của bạn. Oh và bằng cách này, về WebServices và OpenID vv, mô-đun pam có thể được viết bằng Python (cho phần WebServer) và được tích hợp vào Gnome 3.2 một cách dễ dàng (Cũng Python để modificate Gnome-Keyring API), VÀ trong ASP .NET cho phía cửa sổ.

Nhưng một lần nữa, tôi không phải là chuyên gia của câu hỏi này, chỉ quan tâm đến. ;-)

+1

Chỉ cần chỉnh sửa một chút để chỉ ra tin tức khá tốt này: Google vừa phát hành một cách để cho phép các dịch vụ liên lạc với API mà không cần tương tác với người dùng - [here] (http: // googledevelopers .blogspot.fr/2012/03/service-accounts-have-arrived.html) –

1

Đây không phải là vấn đề của nhà cung cấp khi tin cậy bên phụ thuộc.

Vấn đề ở chỗ người dùng phải tin tưởng điều đó.

Tuy nhiên, ba vấn đề khác:

  1. Dù bạn làm gì, bạn có thể không đảm bảo người dùng của bạn rằng mô-đun pam của bạn không ăn cắp mật khẩu của mình.
  2. Vì không có cơ chế xác thực hợp nhất giữa các nhà cung cấp, bạn vẫn cần hiển thị cửa sổ trình duyệt tương tác. Tôi không nghĩ rằng mô-đun pam có thể được tương tác, mặc dù.
  3. Mô-đun sẽ phải là máy chủ http để có thể nhận phản hồi.
+0

Từ kinh nghiệm của bạn, tần suất nhà cung cấp OpenID (ví dụ: Google hoặc Yahoo) thay đổi giao diện xác thực của họ? Trong tương lai gần, nhà cung cấp OpenID có đưa ra một số cơ chế xác thực được chuẩn hóa không? –

+0

Theo ý kiến ​​của tôi, nó không phải về giao diện xác thực của bất kỳ nhà cung cấp duy nhất - đó là về việc bạn không thể thực hiện giao diện cho mọi nhà cung cấp tồn tại. Theo như tôi biết, không có kế hoạch bao gồm một cơ chế xác thực tiêu chuẩn cho các nhà cung cấp trong tiêu chuẩn OpenID. Tuy nhiên, tôi không phải là người thích hợp để hỏi. Bạn có thể có được một câu trả lời tốt hơn bằng cách yêu cầu trên danh sách gửi thư OpenID hoặc tại một số nơi khác liên quan trực tiếp đến Quỹ OpenID. – Mewp

+0

+1 Cảm ơn tất cả thông tin của bạn :) –

-3

Tôi đã tìm thấy trang này. JumpCloud

Dường như nó có thể thực hiện thủ thuật, nếu bạn sử dụng LDAP. Ok, ý tưởng của JumpCloud là họ cung cấp kết nối LDAP-to-Google OAUTH, vì vậy nếu bạn thiết lập hệ thống của mình để xác thực thông qua LDAP, nhưng hãy đặt nó để kiểm tra LDAP của JumpCloud, chứ không phải hệ thống cục bộ của bạn, sau đó bạn sẽ có thể đăng nhập bằng tài khoản Google Domain.

+0

Câu hỏi không phải là tuyệt vời nhưng tôi không thấy cách dịch vụ đó giúp trong việc có một mô-đun PAM trong Linux. – rene

+0

Mặc dù việc thêm liên kết vào câu trả lời là một ý tưởng hay, bạn nên luôn thử và thêm mô tả khác vào câu trả lời trong khi liên kết không còn được sử dụng ở giai đoạn sau, trong trường hợp đó câu trả lời sẽ là vô nghĩa. –

+0

Ok, ý tưởng của JumpCloud là chúng cung cấp kết nối LDAP-to-Google OAUTH, vì vậy nếu bạn thiết lập hệ thống của mình để xác thực thông qua LDAP, nhưng hãy đặt nó để kiểm tra LDAP của JumpCloud chứ không phải hệ thống cục bộ của bạn. để đăng nhập bằng tài khoản Google Domain. –