oAuth 2.0数据库结构

时间:2013-01-25 16:36:21

标签: database oauth

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

4 个答案:

答案 0 :(得分:9)

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

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)

SalesForce提供了refresh_token;没有过期,用于刷新access_tokens。如果您的回调网址是移动设备,它们只会给您一个,这很烦人。

答案 1 :(得分:1)

你可以从VS2012建议的MVC框架开始:

<强> webpages_OAuthMembership

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

<强> webpages_Membership

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

然后定义您自己的Users表,如:

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

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

答案 2 :(得分:-1)

This default scheme database oauth2

我在Spring Boot中使用它

答案 3 :(得分:-2)

我认为google oAuth教程会为您提供帮助

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