8

我希望在我当前的应用程序中实现 oAuth。什么是存储所需信息的良好数据库结构,例如令牌等时代。有什么标准吗?

4

4 回答 4

11

我也在考虑同样的事情。一般来说,我正在做:

user_oauth_info
-------------------------------
id (int auto-inc)
user_id (int)
oauth_provider (varchar 20)
acccess_token (varchar 40)
refresh_token  (varchar 40)   
expiry_date (datetime)

一个 refresh_token 由 SalesForce 提供;不会过期,用于获取刷新的 access_tokens。但是,如果您的回调 URL 是移动设备,它们只会给您一个,这很烦人。

于 2013-05-09T21:11:50.443 回答
1

您可以从 VS2012 对其 MVC 框架的建议开始:

网页_OAuthMembership

Provider nvarchar(30) (clustered primary key)
ProviderUserId nvarchar(100) (clustered primary key)
UserId int

网页_会员

UserId int (Primary Key)
CreateDate datetime
ConfirmationToken nvarchar(128)
IsConfirmed bit
LastPasswordFailureDate datetime
PasswordFailuresSinceLastSuccess int
Password nvarchar(128)
PasswordChangedDate datetime
PasswordSalt nvarchar(128)
PasswordVerificationToken nvarchar(128)
PasswordVerificationTokenExpirationDate datetime

然后定义您自己的用户表,例如:

UserID int (Primary Key)
UserName nvarchar(80)
Name nvarchar(80)
Surname nvarchar(80)

我真的没有理由这样做,但我猜想出这个架构的微软人比我更了解这个,所以我认为这是一个很好的起点。

于 2013-05-17T07:36:20.427 回答
0

此默认方案数据库 oauth2

我用这个和弹簧靴

于 2019-07-15T05:08:38.597 回答
-3

我认为谷歌 oAuth 教程会给你帮助

https://developers.google.com/accounts/docs/OAuth2

于 2013-05-17T08:31:17.710 回答