`
m635674608
  • 浏览: 5029042 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

单点登录实现——基于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_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

分享到:
评论
1 楼 liaozhaijk 2018-05-17  
    

相关推荐

    OAuth2.0协议中文版

    OAuth 2.0 协议中文译本共分为九大部分,分别介绍了 OAuth 2.0 协议的背景知识、术语中英对照表、OAuth 2.0 协议的中文译本、OAuth 2.0 协议的工作流程、OAuth 2.0 协议的安全机制、OAuth 2.0 协议的优点、OAuth 2.0...

    OAuth2.0协议原理与实现

    ### OAuth2.0协议原理与实现 #### 一、OAuth2.0协议概述 OAuth2.0协议是一种广泛应用于第三方登录及授权的标准协议。相比于OAuth1.0版本,OAuth2.0进行了多方面的优化和改进,例如简化了授权流程、取消了Token的...

    OAuth2.0授权系统实现单点登录

    通过研究这个项目,开发者可以学习如何在实际环境中部署和配置OAuth2.0,以及如何设计和实现单点登录解决方案,这对于构建安全的、多应用集成的网络环境非常有价值。同时,它也有助于深入理解授权和身份验证的原理,...

    spring security 基于oauth 2.0 实现 sso 单点登录Demo.zip

    spring security 基于oauth 2.0 实现 sso 单点登录Demo 使用 spring security 基于oauth 2.0 实现 sso 单点登录Demo spring boot + spring security + spring security oauth

    spring security + oauth 2.0 实现单点登录、认证授权

    Spring Security和OAuth 2.0是两个在Web应用安全领域广泛应用的框架,它们结合使用可以构建强大的单点登录(SSO)和认证授权系统。在这个系统中,`xp-sso-server`代表了认证服务器,而`xp-sso-client-a`和`xp-sso-...

    cas3.5.0集成oauth2.0协议

    在CAS3.5.0版本中,已经支持了OAuth2.0协议,这意味着你可以利用这个特性与外部的OAuth2.0兼容服务进行交互,例如微博、谷歌、Facebook等,为用户提供更加便捷的登录体验。 集成OAuth2.0的过程通常包括以下步骤: ...

    OAuth2.0协议中文版.pdf

    OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用...

    一种基于OAuth2.0的微服务电力系统授权方案.pdf

    本文提出的基于OAuth2.0的授权方案,能够对接入的客户端和用户实现双重校验,降低基于微服务的电力系统集成授权功能的复杂度。该方案引入双重校验机制,既对客户端进行授权鉴权,又对用户进行授权鉴权。 6. 优势 ...

    基于Django2.1.2的OAuth2.0授权登录

    **基于Django 2.1.2的OAuth2.0授权登录详解** OAuth2.0是一种开放标准,用于授权第三方应用访问用户存储在另一服务提供商(如社交媒体网站)上的私有资源,而无需共享用户的登录凭证。在Django框架中实现OAuth2.0...

    完整Oauth 2.0实现实例

    在本文中,我们将深入探讨 OAuth 2.0 的核心概念,并结合 Java 实现来理解其工作原理。 OAuth 2.0 主要分为四个角色:资源所有者(Resource Owner)、客户端(Client)、授权服务器(Authorization Server)和资源...

    帝国cms oauth2.0 单点登录sso

    结合“oauth2.0”,我们可以理解这个项目是关于如何在帝国CMS中实现基于OAuth2.0协议的单点登录解决方案。 OAuth2.0是一种开放标准,主要用于授权,允许第三方应用在用户许可的情况下,获取一定的权限来访问用户的...

    Oauth2.0 协议 服务端 客户端 thinkphp5.0

    OAuth2.0是一种广泛使用的开放授权协议,它允许第三方应用在用户无需透露其登录凭证的情况下,获取有限的访问权限去操作用户的资源。这个协议的主要目的是为了解决API的安全访问问题,尤其是在社交媒体、云存储和...

    微博Oauth2.0 协议用java 实现单点登录获取用户信息

    微博OAuth2.0协议是微博平台提供的一...通过以上步骤,你就能在Java应用中实现微博OAuth2.0协议的单点登录功能,获取并使用微博用户的个人信息。记得在开发过程中,遵循微博开放平台的相关规定,确保用户数据的安全性。

    OAuth2.0代码模拟实现

    在"OAuth2.0代码模拟实现"项目中,我们看到两个服务器端项目——"wx-server"和"zking-server",以及一个名为"pom.xml"的文件,这通常表示项目是基于Maven构建的Java应用。下面我们将深入探讨OAuth2.0的实现细节以及...

    oauth2.0协议授权

    OAuth2.0是一种广泛使用的开放授权协议,它允许第三方应用在用户许可的情况下,访问特定的受保护资源。这个协议在互联网服务中起到了关键作用,尤其是涉及到用户数据安全和隐私的场景。下面将详细介绍OAuth2.0的核心...

    微信oauth2.0授权

    微信OAuth2.0授权是一种广泛应用于移动应用和网站的第三方登录解决方案,主要目的是为了安全地获取用户的微信身份标识——openid,以便提供个性化服务或者与其他微信功能集成。在本文中,我们将详细探讨微信OAuth2.0...

    webapi基于Owin中间件的oauth2.0身份认证

    **OAuth2.0简介** OAuth2.0是一种授权框架,广泛应用于Web API的身份验证和授权。它允许第三方应用在用户授权的情况下,访问该用户的特定资源,而无需获取用户的用户名和密码。OAuth2.0的核心是将认证和授权分离,...

Global site tag (gtag.js) - Google Analytics