欢迎大家来到IT世界,在知识的湖畔探索吧!
OAuth2.0在认证和授权的过程中参与的几个角色如下:
Client - 第三方应用,
欢迎大家来到IT世界,在知识的湖畔探索吧!
下面以小明使用qq登陆本站为例来讲解OAuth2.0授权原理(小明为Resource Owner,本站36nu.com为Client,qq授权服务器为Authorization Server,提供小明qq基本信息的服务器为Resource Server)
1 小明点击使用qq登陆本站,本站请求qq的OAuth登录页
请求的接口大致如下
欢迎大家来到IT世界,在知识的湖畔探索吧!https://graph.qq.com/oauth/...&client_id=100490398&redirect_uri=xxx
这个URL称为Request Token URL – 未授权的令牌请求服务地址,要带两个参数client_id和redirect_uri,client_id是在qq互联申请的appid,redirect_uri是用户账号密码输入正确后跳转到的地址。本站身份验证通过后,跳转到qq登陆页面
2 小明使用qq号登陆并授权
小明登陆成功后,QQ在回调地址中加入了一个code参数给本站,例如:
/callback?code=xxxxxx
此code即Authorization Code,有效期一般很短
3 本站通过Authorization Code获取Access Token
本站使用上一步返回的code及appid和appkey去qq获取Access Token,接口地址例如:
欢迎大家来到IT世界,在知识的湖畔探索吧!https://graph.qq.com/oauth2.0/token?&client_id=100490398&client_secret=xxx&code=xxx
这个URL称为User Authorization URL – 用户授权的令牌请求服务地址,client_id即appid,client_secret即appkey,code为上一步得到的code,这个接口调用成功后会返回access_token和refresh_token,access_token的是有有效期的,过期后需要用户重新授权才能获得新的Access_Token。为避免用户再次授权的操作,提升用户体验,可以使用refresh_token重新获取有效的access_token
4 使用access_token获取小明的头像,区域,性别等基本信息
使用access_token去请求qq的相关openApi(Resource Server)即可获取到需要的信息
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/49203.html