单点登录实现——基于OAuth2.0协议的接入方案

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_idtruestring服务商提供的client_id
redirect_uritruestring授权后的回调地址,需与注册应用里的回调地址一致
response_typetruestring此值固定为 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_idtruestring服务商提供的client_id
client_secrettruestring服务商提供的client_secret
grant_typetruestring默认值authorization_code
redirect_uritruestring授权后的回调地址,需与注册应用里的回调地址一致
codetruestring第二步请求回来的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_tokentruestring第三部返回的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

实现OAuth 2.0的单点登录(Single Sign-On,SSO),你可以按照以下步骤进行操作: 1. 设计用户认证和授权系统:首先,你需要设计一个用户认证和授权系统,以便为用户提供登录和授权服务。这个系统可以是一个独立的身份提供者(Identity Provider,IdP),也可以与现有的认证系统集成。 2. 注册应用程序:在你的身份提供者上注册应用程序,并为每个需要单点登录的应用程序生成一个客户端ID和密钥。这些凭据将用于应用程序与身份提供者之间的通信。 3. 配置身份提供者:在身份提供者上配置单点登录设置,以允许应用程序使用OAuth 2.0进行身份验证和授权。这通常涉及配置重定向URL、访问范围和其他权限参数。 4. 应用程序集成:将单点登录功能集成到每个需要SSO的应用程序中。这通常涉及使用OAuth 2.0的授权流程来获取访问令牌,以及验证和解析令牌以确认用户身份。 5. 令牌管理:在应用程序中,你需要实现令牌管理逻辑,包括令牌的存储、刷新和吊销。这样可以确保令牌的有效性,并提供良好的用户体验。 6. 实现单点注销:除了单点登录,你还可以实现单点注销功能,允许用户在一个应用程序中注销时自动注销所有相关的应用程序。 以上是一个基本的步骤概述。具体实现细节可能因身份提供者、编程语言和框架的不同而有所差异。你可以参考特定身份提供者的文档,并查阅相关的OAuth 2.0实施指南来获得更详细的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值