使用SAP身份验证器和两因素身份验证的ABAP服务提供商的移动SSO

2020-09-26 09:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我的目标是使用SAP身份验...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我的目标是使用SAP身份验证器在移动设备上向ABAP Web服务提供SSO。 针对IdP的身份验证必须使用两个因素来完成。 第一个因素必须是X.509证书,第二个因素必须是SAP Authenticator生成的密码。 到目前为止,我只能使用密码(一个因素)或使用安装了X.509证书的浏览器并通过PC手动配置第二个因素的密码来配置此方案。

E 环境:

  • 已安装SAP IdP + SSO身份验证库(SSO 3.0 SP1)的AS Java
  • AS ABAP SP(提供WDA应用程序)
  • iOS 10.x
  • SAP Authenticator(最新)
  • 具有浏览器和证书的客户端PC,可以在没有SAP Authenticator的情况下测试设置

设置:

  • TOTPLoginModule配置为两因素身份验证
  • ClientCertLoginModule旨在作为第一个因素模块
  • SAP Authenticator的TOTP密码是第二个因素
  • …一旦完成,发出SAML断言-> SSO !!!

已完成的任务

  • SAP IdP设置包括 SSO Auth Lib安装
  • TOTPLoginModule集成作为HTTPS的身份验证上下文
  • TOTPLoginModule的配置及其第一个和第二个因素
  • 将ClientCertLoginModule配置为正确的用户映射(Rule1.xxxx)
  • SP设置(AS ABAP)
  • 双方的信任设置和元数据导出/导入
  • 我的AS ABAP Web应用程序的中继状态映射配置
  • 名称ID映射
  • OTP设置和角色
  • 通过OTP_ONLINE_USER
    通过客户端PC和浏览器进行测试的iOS设备注册:

    • 可用的用户证书 在浏览器中
    • 注册了SAP身份验证器(OTP_USER),因此在此阶段只有一个OTP生成器
    • 使用SP启动的SSO测试
    1. ...打开AS ABAP应用程序URL
    2. SAMLAuthnRequest +重定向到IdP
    3. 第一因素身份验证(提示选择证书)-有效
    4. 第二因素 (输入SAP Authenticator生成的OTP)在登录屏幕上

    5. 由IdP发出并通过后绑定发送到AS ABAP SP的SAMLR响应
    6. 身份验证成功->几乎是SSO:- )

    目标:

    正如我之前所说,现在我正尝试使用SAP Authenticator实现相同的目标。 在启动SAP Authenticator应用程序之后,输入应用程序密码并在提供的书签上提示,以便访问SAP Authenticator中可用的ABAP Web应用程序,用户应该能够执行移动单一登录

    示例书签: https://<主机>:<端口>/saml2/idp/sso?saml2sp = &RelayState = <名称>&j_username = [用户名]&j_passcode = [密码]

    当然,目标是针对SAP IdP使用两因素身份验证,以便获取ABAP SP的SAML声明。

    现在打开应用程序书签,我们正在使用 IDP初始化的SSO ,因此第一个请求直接发送给了IdP,但是身份验证方法应该相同,对吗? 嗯,它不起作用。...最终显示在Safari的IdP登录屏幕上。

    它仅与密码(一个因素)一起使用-如果TOTPLoginModule配置了选项" 模式" = otp "从SAP Authenticator启动应用程序书签时,通过Safari对浏览器自动通过针对IdP的密码登录,并在发出断言后成功显示了ABAP应用程序。

    它确实 如果我为两因素身份验证设置了相同的方案,则不起作用,类似于我已经使用浏览器通过PC和X.509证书(已启动SP)进行了测试。

    现在,第一个因素应该是 X.509证书。

    1)我已经在iOS设备(配置文件)中安装了一个,以便可以在Safari中使用。 没帮助 为了确保它确实有效,我刚刚修改了我的AS JAVA的票证堆栈,并从Safari中打开了/irj/portal网址->通过ClientCertLoginModule的SSO起作用!!!

    2)我已经配置了Secure Login Server与SSO身份验证库结合使用,以通过SAP Authenticator(RESTful客户端)提供证书。 该证书在SAP Authenticator中可用。 但这是相同的情况,不起作用。

    是否可以使用通过Secure Login Server注册的X.509证书通过触发该过程的SAP Authenticator对IdP进行身份验证? (另请参见 https://archive.sap.com/discussions/thread/3957779

    < p>由于这似乎不起作用,是否需要在iOS Safari浏览器(浏览器应用程序)中提供证书?

    SAP Authenticator应用程序是否使用Safari浏览器进行SAML消息交换等等。 ...或者它是否包含一种具有SAML支持的浏览器引擎?

    顺便说一句:我知道文档"使用SAP AUTHENTICATOR进行SAP FIORI的移动单点登录",但在此阶段没有帮助。

    是否可以 与解决方案专家建立呼叫?

    非常感谢。

    Carsten

4条回答
DafaDDDa
2020-09-26 09:48

嗨Rinaldo,

问题是,如何从移动设备访问CRM应用程序? 是使用移动应用程序(移动应用程序运行时容器)还是通过内置浏览器完成的? AFAIK很快将支持第一个,至少适用于iOS和Fiori。 SAP Authenticator应用程序可以从SLS获得X.509证书,并使其在iOS上的SAP定义的密钥链中可用。 SAP Fiori客户端将得到增强,可以访问SAP密钥链,并将证书重新用于单点登录。

我不知道如何在考虑X.509证书的情况下,通过身份验证器和通过移动设备浏览器(由身份验证器应用触发)实现真正的两因素身份验证。 我的意思是将X.509证书用作一种身份验证因素,将一次密码用作第二个身份验证因素。 AFAIK只有在您事先通过MDM将证书注册到设备中的情况下,才有可能。

仍然没有回答核心问题:在SAP Authenticator触发此过程时,是否可以使用通过SAP Authenticator/SLS注册的X.509证书针对SAP IDP进行身份验证?

我希望听到一些反馈。

Carsten

一周热门 更多>