Tôi đã đọc những câu hỏi khác và họ chủ yếu nói về sự an toàn của làm như vậy. Đó không hoàn toàn là mối quan tâm của tôi, chủ yếu là vì trang web là câu hỏi là một trò chơi dựa trên trình duyệt. Tuy nhiên, vấn đề lớn hơn là người dùng - không phải mọi người dùng đều biết đọc đủ để hiểu OpenID. Chắc chắn RPX làm cho điều này khá dễ dàng, đó là những gì tôi sẽ sử dụng, nhưng nếu người dùng không có tài khoản tại Google hay Facebook hoặc bất cứ điều gì, hoặc không tin tưởng hệ thống để đăng nhập bằng tài khoản hiện có? Họ sẽ phải nhận được một tài khoản tại một cung cấp khác - Tôi chắc chắn hầu hết sẽ biết cách để làm điều đó, hãy để một mình được làm phiền để làm điều đó.Sử dụng OpenID là chỉ phương thức xác thực
Ngoài ra còn có vấn đề làm thế nào để quản lý nó trong ứng dụng. Người dùng có thể muốn sử dụng nhiều danh tính với một tài khoản, do đó, nó không đơn giản như tên người dùng + mật khẩu để giải quyết. Làm cách nào để lưu trữ danh tính OpenID của người dùng trong cơ sở dữ liệu? Sử dụng OpenID cũng mang lại cho tôi một lợi ích: RPX có thể cung cấp thông tin hồ sơ mở rộng, vì vậy tôi chỉ có thể điền vào mẫu hồ sơ và yêu cầu người dùng chỉnh sửa theo yêu cầu.
Tôi hiện có này:
Users:
------
ID Email Etc.
-- --------------- ----
0 [email protected]oo.com ...
1 [email protected] ...
UserOpenIDs:
------------
ID UserID OpenID
-- ------ ------
0 0 0
1 0 2
2 1 1
OpenIDs:
--------
ID Provider Identifier
-- -------- ----------------
0 Yahoo https:\\me.yahoo.com\bob#d36bd
1 Yahoo https:\\me.yahoo.com\alice#c19fd
2 Yahoo https:\\me.yahoo.com\bigbobby#x75af
Với những phím nước ngoài:
UserOpenIDs.UserID -> Users.ID
UserOpenIDs.OpenID -> OpenIDs.ID
Đó có phải là cách đúng đắn để lưu trữ định danh OpenID trong cơ sở dữ liệu? Làm thế nào tôi sẽ phù hợp với định danh RPX đã cho tôi với một trong cơ sở dữ liệu để đăng nhập vào người dùng (nếu nhận dạng được biết đến).
Vì vậy, đây là những câu hỏi cụ thể:
- Làm thế nào tôi có thể làm cho nó dễ tiếp cận đối với người dùng không có một OpenID hoặc không muốn sử dụng một? (các lo ngại về bảo mật khi nói, đăng nhập bằng tài khoản Google của họ)
- Làm cách nào để lưu trữ số nhận dạng trong cơ sở dữ liệu? (Tôi không chắc chắn nếu các bảng ở trên là đúng)
- Tôi cần những gì để có các biện pháp để tránh người khác đăng nhập như một người dùng khác và vui vẻ làm bất cứ điều gì với tài khoản của họ? (Như tôi hiểu RPX gửi nhận dạng thông qua HTTP, vì vậy những gì ai sẽ phải làm là chỉ cần bằng cách nào đó lấy nó sau đó nhập nó trong lĩnh vực "OpenID")
- gì khác tôi cần phải nhận thức được khi sử dụng OpenID?
Xin chào, bản thân tôi mới sử dụng OpenId, nhưng hãy xem xét nó trong trang web của riêng tôi. cho câu hỏi thứ ba của bạn "các biện pháp ... để ngăn người khác đăng nhập với tư cách người dùng khác ...", vì tôi hiểu OpenId, bạn ** không bao giờ ** chấp nhận Url OpenId từ một nguồn không đáng tin cậy. khi triển khai, trang web của bạn lưu trữ thông tin đăng nhập của nhà cung cấp, trang web của nhà cung cấp liên lạc với bạn ** trực tiếp **, vì vậy, bạn luôn chấp nhận Url OpenId từ một trang web đáng tin cậy. –