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

    第一步, 申请授权码

   

    第二步, 请求连接,获取code

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

如果没有登录, 会首先重定向到登录页面

70

   

    第三步, 授权(authrization)

    确保用户是已经登陆的情况,在浏览器中输入和步骤1一样的地址( 注意是get请求 )

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

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

70

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

如果同意授权,跳转到redirect_uri地址,并且在uri后面追加返回的code,

https://www.baidu.com/?code=o4YrCS:

 

    第四步, 根据 code 获取 access_token

    通过 postman 发送 post 请求,grant_type为authorization_code, code为上一步拿到的参数 ,请求url如下:

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

70

返回access_token格式

{"access_token": "a8ae6a78-289d-4594-a421-9b56aa8f7213","token_type": "bearer","expires_in": 1999,"scope": "read write trust"
}

 

    第五步, 根据 access_token 获取资源

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

返回资源结果:

{"key": "Hello Oauth2"
}

 

刷新 token ( refresh_token )

http://localhost:8080/oauth/token?grant_type=refresh_token&refresh_token=ce3dd10e-ec60-4399-9076-ee2140b04a61&client_id=pair&client_secret=secret

返回结果:

{"access_token": "436423b4-fc22-4f41-8186-d8706ae9396f","token_type": "bearer","refresh_token": "ce3dd10e-ec60-4399-9076-ee2140b04a61","expires_in": 1999,"scope": "read write trust"
}

 

 

转载于:https://my.oschina.net/u/3901362/blog/3076080


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部