2009-04-10 6 views
5

Tôi phải là ngu ngốc, bởi vì tất cả các bài viết tôi đã thấy trên OpenID trong ASP.NET đã chỉ đơn giản là nhầm lẫn tôi về vấn đề này. Tôi khá chắc chắn tôi hiểu các khái niệm liên quan ở đây, tôi chỉ là một chút mờ về cách mọi thứ nhìn vào mặt sau của sự vật.Làm cách nào để sử dụng OpenID trong trang web ASP.NET mới của tôi?

Vì vậy, một người dùng mới đến trang web của tôi và muốn tạo một tài khoản. Đây là lũ câu hỏi:

  • Đây là bước đầu tiên để anh chọn nhà cung cấp OpenID mà anh ta sẽ sử dụng để đăng nhập?
  • Tôi có nhắc tên người dùng trên hệ thống của tôi không?
  • Tôi có cần buộc anh ta vào cùng một nhà cung cấp OpenID mỗi khi anh ta quay lại hay anh ta có thể chọn nhà cung cấp mới mỗi lần không?
  • Cơ sở dữ liệu trông như thế nào ở đây? Tôi có tên người dùng của mình trong một bảng và được liên kết với một nhà cung cấp OpenID không?
  • Điều gì xảy ra nếu người dùng không có tài khoản OpenID? Tôi có nên cho phép anh ta tạo một tài khoản truyền thống ở cuối trang của tôi, sau đó tự giới thiệu mình là một nhà cung cấp OpenID không?

Tôi thiếu gì ở đây? Tôi thường khá tươi sáng, nhưng khu vực này đã được như kryptonite để Superman cho smarts phát triển của tôi. Cảm ơn trước!

Adam

Trả lời

5

Trang này là hướng dẫn từng bước về triển khai OpenId trên trang web. Tôi tin rằng nó sẽ trả lời tất cả các câu hỏi của bạn về cơ chế bổ sung nó.

A Recipe for OpenID-Enabling Your Site

Nếu người dùng không có một OpenID tôi sẽ chỉ cho phép họ đăng ký 'bình thường', lưu trữ thông tin của họ để sử dụng trong nước. Không cần phải thêm sự phức tạp thêm của việc trở thành một nhà cung cấp OpenID trừ khi bạn có một trường hợp kinh doanh cho điều đó.

5

Dude, bạn không đơn độc. OpenID confuses tất cả mọi người ngoại trừ những người thiết kế nó, và thậm chí sau đó, tôi không chắc chắn nó không gây nhầm lẫn cho họ vì có nhiều nhà cung cấp OpenID và không tương thích nhỏ giữa chúng, tùy thuộc vào thư viện của bạn mà bạn sử dụng.

Hãy tưởng tượng người dùng là bảng "sql" (bảng đó chứa "thông tin đăng nhập" của anh ấy) và bạn có bảng dữ liệu tiểu sử cụ thể cho trang web của mình mà bạn sở hữu. Url OpenID là "khóa ngoại" mà bạn sử dụng để "nối" hai bảng này. Bạn phải tự chứng minh cho chính mình rằng anh ấy thực sự sở hữu url OpenID đó trước khi chấp nhận nó (hoặc liên kết nó với dữ liệu hồ sơ cá nhân của bạn). Về cơ bản, bạn đang "gỡ bỏ" phần xác thực của trang web của mình.

Vì vậy, cuối cùng, bạn sử dụng thư viện khách hàng mở mà thực hiện công việc cho bạn trên trang web của bạn. Họ đăng ký như bình thường điền vào "tên đầy đủ," tuổi ", vv (bất cứ điều gì bạn muốn) nhưng họ cung cấp một url openid thay vì tên người dùng/mật khẩu. Thư viện sau khi xác minh họ thực sự sở hữu nó. Bạn phải tin tưởng thư viện này Để làm điều đó, bạn lưu trữ tất cả dữ liệu hồ sơ của bạn với openid đó, hãy hoàn thành

Mặc dù bạn có thể cung cấp cho nhà cung cấp dịch vụ openid của riêng mình, không có gì đáng kể ở thời điểm này. Ý tưởng về openid là đăng ký ONCE của bạn với một nhà cung cấp, và sau đó chỉ chứng minh bạn sở hữu URL đó cho bất kỳ trang web nào muốn sử dụng nó để nhận dạng bạn (thay vì tên người dùng/mật khẩu)

Có ý nghĩa?

-Oisin

+0

Cảm ơn bạn! Nugget nhỏ đó là những gì tôi đã mất tích. Tôi rất muốn chấp nhận 2 câu trả lời, nhưng câu trả lời khác chứa đựng nhiều chi tiết kỹ thuật mà tôi cũng đang tìm kiếm. –