美文网首页SAP札记SAP 实用篇SAP
基于SAML2.0的SAP云产品Identity Authent

基于SAML2.0的SAP云产品Identity Authent

作者: _扫地僧_ | 来源:发表于2019-06-03 15:43 被阅读11次

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

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

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

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

    请求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,要求用户提供用户名和密码。

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

    • xsrfProtection
    • spId
    • spName
    • authenticity_token
    • idpSSOEndpoint

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

    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作为响应给用户。

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

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

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":


    相关文章

      网友评论

        本文标题:基于SAML2.0的SAP云产品Identity Authent

        本文链接:https://www.haomeiwen.com/subject/emicxctx.html