在我的网站上,我打算为用户提供通过OAuth进行身份验证的功能。我不想让他们先注册我,然后连接一个外部账户;我想提供单点登录。
我相信我们应该重用Access Tokens;肯定会在会议期间甚至他们之间。
谷歌甚至表示他们会将访问令牌的数量限制为10 per user per application。 (显然谷歌仍然支持OAuth1,但现在推荐Auth2)10是一个相当小的数字。使用Cookie(like this)似乎是在会话之间识别用户的好计划,但我遇到了用户删除了Cookie或从新计算机连接的情况。
在我为他们请求另一个访问令牌之前,如何知道用户是谁?请求令牌不包含用户ID,对吗?
由于
答案 0 :(得分:0)
无论您选择哪种协议和提供商,您都必须维护自己的用户帐户。从提供者处获得的令牌(或OpenID中的URL)对于给定用户是唯一的,您应该将其与内部用户帐户关联并通过它识别用户。
如果您不想提供任何注册用户界面,则可以:只需获取令牌,从提供商处检索所需的所有用户信息,并将所有这些信息存储在数据库中。您还必须为您的用户发布和识别您自己的Cookie,否则他们每次访问您的网站时都会被迫通过提供商身份验证。