2010-11-10 35 views
6

Ai đó có thể giúp tôi hiểu OpenID hoạt động như thế nào? Tôi quan tâm đến các câu trả lời sau:OpenID hoạt động như thế nào?

  1. Bạn vẫn phải lưu trữ id và mật khẩu người dùng nếu sử dụng OpenId?
  2. Ứng dụng của tôi tạo phiên mới khi người dùng đăng nhập bằng cách nào?
  3. Khi người dùng đăng xuất khỏi ứng dụng, tôi có cần phải làm gì khác ngoài xóa dữ liệu phiên của họ không? Tôi có cần thông báo cho máy chủ openId không?

Trả lời

3

Gần đây tôi đã thực hiện một hệ thống xác thực openid, đây là cách nó hoạt động.

đăng nhập:

  1. tài đặt trong url openid (không nhất thiết duy nhất),
  2. OpenID nhà cung cấp thẩm tra và cung cấp một url openid độc đáo, trên thành công.
  3. Đặt url này trong phiên.

xác thực yêu cầu:

có một bảng mà các bản đồ url openid cho người sử dụng.

cho mỗi yêu cầu:

  1. Hãy tìm url openid trong phiên
  2. Nếu tồn tại, hồ sơ người dùng tra cứu và gắn nó vào các yêu cầu
  3. Process yêu cầu.

Bạn vẫn phải lưu trữ userIds và mật khẩu nếu sử dụng OpenID?

userIds vâng, mật khẩu không (trừ khi bạn cung cấp những cách khác để đăng nhập trừ openid)

Làm thế nào để ứng dụng của tôi tìm hiểu và tạo một phiên làm việc mới khi ai đó đăng nhập trong?

Phiên được xử lý như bình thường, phiên dành cho người dùng được xác thực và chưa được xác thực.

Khi tôi sử dụng các bản ghi ra khỏi ứng dụng của riêng tôi, tôi cần phải làm bất cứ điều gì hơn chỉ rõ ràng phiên của họ từ ứng dụng của tôi? (Tôi có cần phải thông báo cho máy chủ openId không?)

Không.

3

hiểu biết của tôi là như sau:

  1. OpenID cho phép người dùng đăng nhập vào một cách phi tập trung. Điều này có nghĩa là thông tin đăng nhập của người dùng được xử lý bởi một trang web, nhà cung cấp

  2. Hệ thống của bạn sẽ tương tác với nhà cung cấp để xác định xem người dùng có phải là người dùng của họ hay không. Nếu họ vượt qua kiểm tra đó, hệ thống của bạn sẽ ghi lại chúng.

  3. Bạn vẫn cần lưu trữ một số thông tin người dùng vì chi tiết về cách chúng có thể sử dụng hệ thống của bạn phải được lưu trữ trong hệ thống của bạn.

Vì vậy, nếu Google là nhà cung cấp id mở, SO có thể xác minh rằng tôi đã đăng nhập vào google và tôi là ai. SO sau đó nói, tuyệt vời, người dùng này là hvgotcodes trong hệ thống của chúng tôi và mang lại cho tôi đặc quyền có ý nghĩa đối với những người tôi đang ở trong SO.

Để trả lời câu hỏi cụ thể về đăng xuất, có, bạn vẫn đăng nhập người dùng vào hệ thống sau khi nhà cung cấp id mở xác minh thông tin đăng nhập của người dùng và do đó bạn có thể xử lý trạng thái đăng xuất của họ từ hệ thống của riêng bạn.

Các vấn đề liên quan