OIDC SSO - 相关SSO流程和注意事项

简介: ## 背景信息> OIDC SSO相关文档总共4篇,主要内容为对OIDC实现SSO登录流程时的各个细节和相关技术的阐述:1. 《[OIDC SSO - OAuth2.0的授权模式选择](https://ata.alibaba-inc.com/articles/218489)》2. 《OIDC SSO - 相关SSO流程和注意事项》3. 《[OIDC SSO - Discovery Mech

背景信息

OIDC SSO相关文档总共4篇,主要内容为对OIDC实现SSO登录流程时的各个细节和相关技术的阐述:

基于OIDC实现SSO,除了选择对应的OAuth 2.0 授权模式外,在RP-init SSO和OP-init SSO两个不同的流程中也存在不同的差别,本文将其进行了显示化描述。

RP-init SSO流程

The login flow initiated by the Relying Party.
在SAML协议中,为SP-init SSO。

OP-init SSO流程

The login flow initiated by an OpenID Provider.
在SAML协议中,为IdP-init SSO。

其它重要信息

id token with nonce

OIDC规范要求implicit flow和hybrid flow中的Authentication request必须指定nonce;
client接受到Authorization Server返回的id token后必须校验nonce;

refresh_token & offline_access

  1. 能否从Token Endpoint获取到Refresh Token,需要对应的client id具备refresh_token的授权;
  2. 授权服务器必须确保使用refresh_token的客户端是认证过的,当一个refresh_token被使用过以后,一个新的refresh_token被签发出来,授权服务器应该维护旧的refresh_token和客户端的关系,当恶意攻击者使用一个无效的refresh_token来刷新时,应该吊销颁发的refresh_token以及所有的access_token;
  3. offline_access是一个新的scope授权,具备此属性的授权情况下,客户端可以在终端用户未登录的情况下,请求刷新access token,即终端用户未登录状态下,客户端也可以获取access token访问资源;
A request to the Token Endpoint can also use a Refresh Token by using the grant_type value refresh_token, as described in Section 6 of OAuth 2.0 [RFC6749]


The authorization server MUST verify the binding between the refresh token and client identity whenever the client identity can be authenticated. When client authentication is not possible, the authorization server SHOULD deploy other means to detect refresh token abuse.

SLO机制

OIDC中目前存在4中草案来做对应的End-User Session管理:

  1. OpenID Connect Session Management 1.0
  2. OpenID Connect Back-Channel Logout 1.0
  3. OpenID Connect Front-Channel Logout 1.0
  4. OpenID Connect RP-Initiated Logout 1.0

当下来讲,我们暂不实现,如果支持OIDC的SLO,我们基于Logout方式来做,Session Management方式暂不支持;

参考文档

  1. OIDC Core:https://openid.net/specs/openid-connect-core-1_0.html
  2. OpenID Connect Session Management 1.0:https://openid.net/specs/openid-connect-session-1_0.html
  3. OpenID Connect RP-Initiated Logout 1.0 :https://openid.net/specs/openid-connect-rpinitiated-1_0.html
  4. OpenID Connect Back-Channel Logout 1.0 :https://openid.net/specs/openid-connect-backchannel-1_0.html
  5. OpenID Connect Front-Channel Logout 1.0 :https://openid.net/specs/openid-connect-frontchannel-1_0.html


目录
相关文章
|
9月前
|
人工智能 自然语言处理 文字识别
阿里云 AI 搜索开放平台新增:服务开发能力
阿里云 AI 搜索开放平台新发布:服务开发能,可通过集成 dsw 能力并新增 notebook 功能,进一步提升用户编排效率。
414 0
|
人工智能 安全 算法
构建安全壁垒:大模型私有化部署的技术挑战与解决方案
【10月更文挑战第16天】随着大数据和云计算的发展,人工智能大模型为企业带来竞争优势,但也引发了数据安全和隐私保护的挑战。大模型私有化部署,即将模型和数据部署在企业内部服务器上,成为了解决这些问题的有效途径。这不仅减少了数据泄露风险,还能根据企业需求定制模型,提高适用性和准确性。面对计算资源利用、模型训练加速和数据安全保障等技术挑战,企业可通过优化算法、硬件加速和加强数据安全措施来应对。私有化部署正逐步受到关注,为企业的安全与创新发展提供新动力。
827 3
|
监控 安全 网络协议
这10款网络扫描工具,是个网工,都想全部安装!
这10款网络扫描工具,是个网工,都想全部安装!
2985 1
|
存储 算法 C++
BackTrader 中文文档(二十八)(3)
BackTrader 中文文档(二十八)
346 0
|
图形学
【unity小技巧】Unity中实现一个战斗连击连招系统,可以动态添加减少连击连招段数功能
【unity小技巧】Unity中实现一个战斗连击连招系统,可以动态添加减少连击连招段数功能
853 0
|
JSON 自然语言处理 API
【LLM落地应用实战】LLM + TextIn文档解析技术实测
文档解析技术是从这些海量且复杂的数据中高效准确地提取有价值信息的关键。它从输入文档图像开始,经过图像处理、版面分析、内容识别和语义理解等流程,最终输出结构化电子文档或语义信息。通过文档解析技术,我们能够深入理解文档的结构、内容和主题,使得信息更易于检索、分析和利用。
|
编解码 iOS开发 UED
IINA使用
IINA使用
|
监控 安全 持续交付
Docker与容器化安全:漏洞扫描和安全策略
容器化技术,特别是Docker,已经成为现代应用程序开发和部署的关键工具。然而,容器化环境也面临着安全挑战。为了保障容器环境的安全性,本文将介绍如何进行漏洞扫描、制定安全策略以及采取措施来保护Docker容器。我们将提供丰富的示例代码,以帮助大家更好地理解和应对容器安全的问题。
|
缓存 Linux
关于近期CentOS 6.X系列各大开源镜像站Yum源失效404问题解决
关于近期CentOS 6.X系列各大开源镜像站Yum源失效404问题解决
1115 0
|
存储 XML 弹性计算
基于ADFS实现阿里云与企业身份系统集成
很多企业都会使用AD来做企业内部身份管理。客户上云之后,希望能够打通其企业内部的AD数据跟云上RAM用户做到联合登录。本文会围绕ADFS跟阿里云SSO展开介绍一下基于AD/ADFS及相关自动化功能实现。
1046 2
基于ADFS实现阿里云与企业身份系统集成

热门文章

最新文章