OAuth是目前广泛应用的开放接入标准,与OAuth1.0相比,OAuth2.0实现起来更加。OAuth的相关原理在互联网上有大量的资料可以查阅。以下是通过OAuth方式接入的说明:
第一步:应用接入申请
向中山市教育信息中心进行应用接入申请获得client_id和client_secret,这两个值是后续进行应用接口调用的关键内容
client_id: lejiaoyun
client_secret: a1a0107555b948ada6348e39376ef52b
第二步:调用OAuth2.0的authorize接口
接口URL:http://202.96.186.112:8001/cas/oauth2.0/authorize
请求方式:GET/POST
调用参数:
参数名称 | 必选 | 类型 | 介绍 |
client_id | true | string | 服务商提供的client_id |
redirect_uri | true | string | 授权后的回调地址,需与注册应用里的回调地址一致 |
response_type | true | string | 此值固定为 code |
实例
http://202.96.186.112:8001/cas/oauth2.0/authorize?client_id=lejiaoyun&response_type=code&redirect_uri=http://localhost:9080/client/oauth2-login
返回值
通过返回的值可以获得code
http://localhost:9080/client/oauth2-login?code=ST-1-CI6pBfnIO1IQtjwyMzNw-113.105.152.174
第三步:授权码交换access_token
接口URL:http://202.96.186.112:8001/cas/oauth2.0/accessToken
请求方式:GET/POST
调用参数:
参数名称 | 必选 | 类型 | 介绍 |
client_id | true | string | 服务商提供的client_id |
client_secret | true | string | 服务商提供的client_secret |
grant_type | true | string | 默认值authorization_code |
redirect_uri | true | string | 授权后的回调地址,需与注册应用里的回调地址一致 |
code | true | string | 第二步请求回来的code |
实例
http://202.96.186.112:8001/cas/oauth2.0/accessToken?client_id=lejiaoyun&client_secret=a1a0107555b948ada6348e39376ef52b&grant_type=authorization_code&redirect_uri=http://localhost:9080/client/oauth2-login code=ST-1-CI6pBfnIO1IQtjwyMzNw-113.105.152.174
返回值
通过返回的值可以获得access_token.
access_token=TGT-1-bVMN764IeAa5ea5MfBgAcIzvvh7DznaQ2QHqV70tMgnOQxIZZs-113.105.152.174&expires=7073
第四步:根据access_token获取用户信息
接口URL:http://202.96.186.112:8001/cas/oauth2.0/profile
请求方式:GET/POST
调用参数:
构建URL包括一个参数
参数名称 | 必选 | 类型 | 介绍 |
access_token | true | string | 第三部返回的access_token值 |
实例
http://202.96.186.112:8001/cas/oauth2.0/profile?access_token=TGT-1-bVMN764IeAa5ea5MfBgAcIzvvh7DznaQ2QHqV70tMgnOQxIZZs-113.105.152.174
返回值
返回用户信息
{"username":"admin"}
至此登陆成功。
http://my.oschina.net/gtwo/blog/716035
相关推荐
spring security 基于oauth 2.0 实现 sso 单点登录Demo 使用 spring security 基于oauth 2.0 实现 sso 单点登录Demo spring boot + spring security + spring security oauth
OAuth2.0协议原理与实现
spring security + oauth 2.0 实现单点登录、认证授权,直接贴代码
微博Oauth2.0 协议,用java 实现单点登录获取用户信息。
OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用...
实现OAuth2授权,并且实现单点登录的小例子,请使用vs2015打开
cas3.5.0集成oauth2.0协议,模拟cas3.5.0通过oauth2.0协议与集成了coauth2.0的cas进行模拟通信。可以实现 与新浪微博等第三方身份验证平台对接,实现单点登录。
OAuth2.0协议中文版,方便了解OAuth2.0协议
Oauth2.0协议 整合php框架 客户端 服务端授权码模式小demo
完整Oauth 2.0 代码实现,包含数据库脚本,使用说明,导入数据库脚本,修改数据库配置可直接运行。
一种基于OAuth2.0的微服务电力系统授权方案.pdf
springboot 集成oauth2.0服务器,基于oauth2.0授权码形式集成
基于Django2.1.2的OAuth2.0授权登录 大学生课程设计 基于Django2.1.2的OAuth2.0授权登录的课程设计 自己大二写的课程设计
java Web第三方登录实现(基于OAuth2.0,包含Github和QQ登录,附源码)
OAuth2.0单元测试解决方案.docx
通过点击viewbutton获取用户openid,实现方式oauth2.0认证
基于oauth2.0开发的一套授权服务,其中包括一些实体类是需要自己定义的,是无法拿到即用的,需要自己看懂并且应用于自己的项目
基于Owin中间件的OAuth2.0身份认证,文章位置https://blog.csdn.net/u013938578/article/details/82956188