这种模式是我们常见的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系统对参数进行校验,这样更安全一点。