欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[Oauth] Oauth2.0中的授权码模式

程序员文章站 2022-03-10 11:51:07
这种模式是我们常见的oauth形式,例如第三方登陆,qq,微博等,都是使用的授权码模式,也是很多网站系统对外提供的接口形式 这种模式大体是需要两步,一般是先获取code , 获取完code后,拿着code去获取access_token 例如下面这俩接口: 1. 获取code https://b.co ......

这种模式是我们常见的oauth形式,例如第三方登陆,qq,微博等,都是使用的授权码模式,也是很多网站系统对外提供的接口形式

这种模式大体是需要两步,一般是先获取code , 获取完code后,拿着code去获取access_token

例如下面这俩接口:

1. 获取code

https://b.com/oauth/authorize?
response_type=code&
client_id=client_id&
redirect_uri=callback_url&
scope=read

 

2. code是在回调地址callback_url,给回调回来的,一般这个回调地址会在b网站系统申请client_id等的地方,进行设置保存的,不是随便都可以的

 

我们在callback_url中接收到code ,然后拿着code去获取access_token

https://b.com/oauth/token?
client_id=client_id&
client_secret=client_secret&
grant_type=authorization_code&
code=authorization_code&
redirect_uri=callback_url

 

这是oauth2.0的建议方式 , 但是有一些系统并不是直接传递的client_secret ,而是把他和参数拼接一起,加密后作为签名,放在参数里,b系统对参数进行校验,这样更安全一点。