基于SAML2.0的SAP云产品Identity Authentication过程介绍

简介: SAP官网的架构图https://cloudplatform.sap.com/scenarios/usecases/authentication.html 上图介绍了用户访问SAP云平台时经历的Authentication过程。

SAP官网的架构图
https://cloudplatform.sap.com/scenarios/usecases/authentication.html

clipboard1

上图介绍了用户访问SAP云平台时经历的Authentication过程。
本文使用的例子是用户访问SAP Marketing Cloud而非SAP云平台,但是原理一致。

步骤1:用户向Service provider发起服务请求。
步骤2:Service provider把这个请求重定向到提供认证的租户上,在我这个例子是SAP ID service,即account.sap.com.

这里Marketing Cloud和SAP ID Service被配置为互相信任。

clipboard2

请求1响应头里的302重定向字段:https://let-me-in.hybris.com/saml/idp-redirection?httpd_location=https://hybris.com/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html

被重定向到SAP云平台的account ID service(accounts.sap.com):
https://accounts.sap.com/saml2/idp/sso?sp=com:ydcHybris:spring:sp2&RelayState=https://hybris.com/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html

步骤3:IDP给用户发送一个html page,要求用户提供用户名和密码。

clipboard3

如果查看这个html的源代码,能发现除了用户名和密码两个输入字段外,还包含了一些隐含字段,如下图高亮所示,这些字段是IDP返回给用户时在服务器端生成的,用于步骤5的IDP服务器端认证处理:

clipboard4

  • xsrfProtection
  • spId
  • spName
  • authenticity_token
  • idpSSOEndpoint

步骤4:用户输入用户名和密码后,点击login按钮,这些信息通过HTML form发送到了SAP ID service的服务器端:

clipboard5

sso请求的url:https://accounts.sap.com/saml2/idp/sso

第二个大写的SSO请求的url:https://let-me-in.demo.hybris.com/saml/SSO

步骤5:SAP ID service的服务器端完成验证,发送SAML assertions作为响应给用户。

clipboard6

这个SAML响应是XML格式的,结构如下:

clipboard7

步骤6也就是最后一步,拿到这个SAML assertion后,用户就能够访问service provider了。

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关文章
|
2月前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
9月前
|
安全 测试技术 数据安全/隐私保护
SAP Commerce Cloud Backoffice site 里 Require Authentication 字段的作用
SAP Commerce Cloud Backoffice site 里 Require Authentication 字段的作用
|
9月前
|
存储 供应链 应用服务中间件
什么是 SAP 产品的 Sizing 操作
什么是 SAP 产品的 Sizing 操作
|
9月前
|
存储 UED
SAP Hybris Revenue Cloud 和 SAP Subscription Billing 这两个产品的关联
SAP Hybris Revenue Cloud 和 SAP Subscription Billing 这两个产品的关联
|
10月前
SAP Spartacus 产品搜索页面结果里的 filter 设计明细
SAP Spartacus 产品搜索页面结果里的 filter 设计明细
|
2月前
|
存储 安全 数据管理
SAP 产品 data archive 数据归档的重要性
SAP 产品 data archive 数据归档的重要性
|
2月前
|
存储 供应链
什么是 SAP 产品主数据的 Scale 属性
什么是 SAP 产品主数据的 Scale 属性
|
2月前
|
存储 供应链
什么是 SAP 产品主数据里的 Sales Unit 概念
什么是 SAP 产品主数据里的 Sales Unit 概念
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
|
2月前
|
数据库
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因