首页 技术 正文
技术 2022年11月12日
0 收藏 505 点赞 2,974 浏览 2333 个字

基于浏览器

访问后跳到登录页面,登录成功后跳转到授权页面,授权成功后跳转到redirect_uri指定的地址。

1.请求授权。

http://localhost:8080/oauth/authorize?client_id=unity-client

&redirect_uri=http%3a%2f%2fwww.baidu.com

&response_type=code&scope=read

  • 地址是/oauth/authorize.
  • client_id表示厂商的唯一标识,在厂商申请资质时自动生成的。
  • redirect_uri回调地址,认证成功后带着code重定向该地址。
  • response_type响应类型。
  • scope权限范围。

2.授权成功后回调地址

http://localhost:8080/unity/dashboard.htm?code=zLl170

  • 地址是redirect_uri里配置的。
  • code临时授权码。

3.通过code换取access_token

http://localhost:8080/oauth/token?client_id=unity-client

&client_secret=unity&grant_type=authorization_code

&code=zLl170&redirect_uri=http%3a%2f%2fwww.baidu.com

  • 地址是/oauth/token
  • client_id表示厂商的唯一标识,在厂商申请资质时自动生成的,不可修改,全局唯一。
  • client_secret表示厂商的密码,在厂商申请资质时自动生成的,可以修改。
  • grant_type发放类型。
  • code授权成功后在回调地址里带的那个code。
  • redirect_uri回调地址,要与获取code的回调地址保持一致。

4.获取access_token响应的数据

{“access_token”:”3420d0e0-ed77-45e1-8370-2b55af0a62e8″,

“token_type”:”bearer”,”refresh_token”:”b36f4978-a172-4aa8-af89-60f58abe3ba1″,

“expires_in”:43199,”scope”:”read”}

  • access_token我们要的就是这个token,以后带着这个token访问我们的系统就畅通无阻了。
  • token_type类型,还没搞懂具体含义。
  • refresh_token刷新token有效时间时用。
  • expires_in过期时间,单位还没搞懂。
  • scope权限范围,和申请时配置一致。

5.获取access_token后访问资源 [GET]

http://localhost:8080/unity/dashboard.htm?

access_token=3420d0e0-ed77-45e1-8370-2b55af0a62e8

  • 以后就可以带着token访问我们的站点资源了,就好像用户登录后操作一样。

6.刷新access_token [GET]

http://localhost:8080/oauth/token?client_id=mobile-client&client_secret=mobile

&grant_type=refresh_token&refresh_token=b36f4978-a172-4aa8-af89-60f58abe3ba1

  • 地址/oauth/token
  • client_id表示厂商的唯一标识,在厂商申请资质时自动生成的,不可修改,全局唯一。
  • client_secret表示厂商的密码,在厂商申请资质时自动生成的,可以修改。
  • grant_type发放类型。
  • refresh_token获取token时得到的。

spring权限配置的要求

用户有个角色可以访问/openapi 客户端有个角色可以访问/openapi 用户把自己的openapi的访问权限给客户端,客户端拿着token才能访问用户的/openapi

已经实现OAuth2的一些开放平台


Oauth2参考资料

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849