OAuth - 将本地用户绑定到第三方

时间:2011-09-19 17:20:56

标签: login oauth facebook twitter-oauth foursquare

我正在开发一个移动应用程序,用户可以通过Facebook,Twitter或Foursquare授权(通过OAuth)而不是创建新的帐户和密码。

问题是,我不确定我应该在我的数据库中存储什么来指向第三方帐户。从OAuth流程获取的auth_token似乎在某些情况下会过期或更改(例如,当用户更改密码时)。所以,这不是一个好的选择。

长期选择是什么?我的意思是,即使用户未经授权我的应用程序,然后授权它,我希望能够找到与他们对应的本地用户。我应该使用每个网站的相应API并挖出user_id并存储它吗?在我认为的会议之间,这将是一致的。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:0)

当您从站点获得授权时,您只需要存储access_token(如果是OAuth 2.0,则需要刷新令牌)。使用OAuth 2.0 access_token,它偶尔会过期,您需要使用refresh_token来获取新的access_token。更改密码的用户不会更改令牌,但用户可以随时撤消令牌。

由于他们必须通过您的移动应用程序才能获得OAuth身份验证,因此您应该能够轻松地将它们链接在一起。