当前位置:   article > 正文

Oauth2授权模式访问之授权码模式(authorization_code)访问_/oauth2/authorize

/oauth2/authorize

Oauth2授权模式访问之授权码模式(authorization_code)访问

获取code

redirect_uri可以随便写,在浏览器输入(注意是get请求方式):

http://localhost:8080/oauth/authorize?response_type=code&client_id=pair&redirect_uri=http://baidu.com
  • 1

这里写图片描述
如果没用登陆,会首先重定向到登陆页面:

这里写图片描述

授权(authrization)

这个过程需要确保用户是已经登陆的情况,在浏览器中输入和步骤1一样的地址(注意是get请求方式):

http://localhost:8080/oauth/authorize?response_type=code&client_id=pair&redirect_uri=http://baidu.com
  • 1

此时会出现让用户授权的页面:

这里写图片描述

如果拒绝,则会重定向到redirect_uri的地址:

这里写图片描述

如果同意授权,跳转到redirect_uri地址,并且在uri后面追加返回的code,如https://www.baidu.com/?code=o4YrCS:

这里写图片描述

根据code获取access_token

在上一步中拿到的code,通过POSTMAN发送post请求,grant_typeauthorization_code,请求地址如下:

  1. http://localhost:8080/oauth/token?
  2. grant_type=authorization_code
  3. &code=o4YrCS&client_id=pair
  4. &client_secret=secret&redirect_uri=http://baidu.com
  • 1
  • 2
  • 3
  • 4

这里写图片描述

返回access_token格式:

  1. {
  2. "access_token": "a8ae6a78-289d-4594-a421-9b56aa8f7213",
  3. "token_type": "bearer",
  4. "expires_in": 1999,
  5. "scope": "read write trust"
  6. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

根据access_token获取资源

访问http://localhost:8080/rest/api/ping?access_token=a8ae6a78-289d-4594-a421-9b56aa8f7213:

这里写图片描述

返回资源结果:

  1. {
  2. "key": "Hello Oauth2"
  3. }
  • 1
  • 2
  • 3

刷新token(refresh_token)

  1. http://localhost:8080/oauth/token?
  2. grant_type=refresh_token
  3. &refresh_token=ce3dd10e-ec60-4399-9076-ee2140b04a61
  4. &client_id=pair&client_secret=secret
  • 1
  • 2
  • 3
  • 4

这里写图片描述

返回结果:

  1. {
  2. "access_token": "436423b4-fc22-4f41-8186-d8706ae9396f",
  3. "token_type": "bearer",
  4. "refresh_token": "ce3dd10e-ec60-4399-9076-ee2140b04a61",
  5. "expires_in": 1999,
  6. "scope": "read write trust"
  7. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/84150
推荐阅读
相关标签
  

闽ICP备14008679号