gpt4 book ai didi

openid - 使用OpenID作为唯一的身份验证方法

转载 作者:行者123 更新时间:2023-12-04 04:19:41 27 4
gpt4 key购买 nike

我读过其他问题,他们大多谈论这样做的安全性。这并不是我完全关心的问题,主要是因为网站存在问题是基于浏览器的游戏。但是,更大的问题是用户-并非每个用户都有足够的知识来理解OpenID。当然,RPX使得这非常容易,这就是我要使用的功能,但是如果用户没有在Google或Facebook上的帐户或任何其他帐户,或者不信任系统使用现有帐户登录,该怎么办?他们必须在另一个提供者处获得一个帐户-我敢肯定,大多数人都会知道该怎么做,更不用说麻烦这样做了。

还有在应用程序中如何管理它的问题。用户可能想通过一个帐户使用多个身份,因此它不像处理用户名+密码那样简单。如何在数据库中存储用户的OpenID身份?使用OpenID也给我带来了好处:RPX可以提供广泛的配置文件信息,因此我只需填写配置文件表单并要求用户根据需要进行编辑即可。

我目前有这个:

Users:
------

ID Email Etc.
-- --------------- ----
0 bob@yahoo.com ...
1 alice@yahoo.com ...

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

使用这些外键:
UserOpenIDs.UserID -> Users.ID
UserOpenIDs.OpenID -> OpenIDs.ID

这是在数据库中存储OpenID标识符的正确方法吗?我将如何匹配标识符RPX给我一个数据库中的一个以登录用户(如果标识符已知)。

因此,这里有一些具体的问题:
  • 我如何使没有OpenID或不想使用OpenID的用户可以访问它? (例如,出于安全考虑,例如使用其Google帐户登录)
  • 如何将标识符存储在数据库中? (我不确定上面的表是否正确)
  • 我需要采取什么措施来防止某人以其他用户身份登录并愉快地对其帐户进行任何操作? (据我了解,RPX通过HTTP发送标识符,所以任何人都要做的就是以某种方式获取它,然后在“OpenID”字段中输入它)
  • 使用OpenID时我还需要注意什么?
  • 最佳答案

    使其可访问

    首先涉及没有OpenID的用户,您可以制作一个小页面来解释如何创建帐户(甚至指向某些提供程序)。这样,创建一个OpenID帐户并不比普通帐户真正困难。

    对于不想使用OpenID的人,您有两种选择。
    第一种:在您的OpenID登录名旁边实现旧式登录名,然后让用户选择所需的方法。
    第二个是只具有OpenID ...这可以简化您的工作。
    我认为有些用户对网站的信任程度比对受信任的OpenID提供者的信任程度要高,在我看来,这很奇怪,因为OpenID提供者经常使用加密连接等。

    在数据库中存储

    您需要的是johnny g提出的模式。
    (我只是不知道为什么要用反斜杠而不是斜杠存储URL)

    您可能需要在使用URL之前对其进行规范化,这样可以避免将http://openid.test.com/abchttp://openid.test.com/abc/之类的内容处理为不同的URL。

    采取其他措施

    没有任何。
    您应该只使用http://openid.net/developers/libraries中的库。

    用户身份的确认是提供商的问题。
    只有用户和网站才知道该帐户的密码。

    如果有人拥有您的OpenID URL(是公开的),则他仍然需要密码(或另一种身份验证方法,例如SSL证书)才能登录。

    关于openid - 使用OpenID作为唯一的身份验证方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2602045/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com