User(Browser)-Client(Web Server)-Server(Service Provider)
OAuth1
1: Client->Server: 输入client-key;获取ungranted token;
2: User->Server:输入ungranted token,callback-url;通过callback-url的参数获取granted token(token未发生变化,也可不传)
3: Client->Server:输入client-key,ungranted token;获取access token。
Client的client-key相当重要,始终未暴露给User;access token一般可访问时间较长。
OAuth2
client(User) flow
1:User->Server:输入client-id,callback-url,response_type=token;通过callback-url的参数获取access token;
2:直接使用access token访问,如果失效重复1,系统会绕过登陆直接通过callback-url的参数获取新的access token;
web server flow
1:User->Server:输入client-id,callback-url,response_type=code;通过callback-url的参数获取auth coce;
2:Client->Server:输入client-id,client-secert,callback-urlt,auth coce;通过callback-url的参数获取access token和refresh token;
3:直接使用access token访问,如果失效重复2,同时传入refresh token,系统会绕过登陆直接通过callback-url的参数获取新的access token;

OAuth认证分为OAuth1和OAuth2,主要流程包括用户授权、获取access token等步骤。OAuth1中,client-key不暴露给用户,而OAuth2的client-id是公开的。OAuth适用于第三方应用接入,既保护用户账号信息安全,也允许用户授权第三方应用访问。
最低0.47元/天 解锁文章
1086

被折叠的 条评论
为什么被折叠?



