从助手生成的iOS应用中访问SAML令牌

2020-08-22 06:18发布

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

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


大家好,

我的情况:

我有一个启用了Onboarding的Assistant生成的iOS应用。 默认的SAML身份验证步骤用于登录自定义身份提供程序(我在云平台帐户上设置了信任)。

我的目标:

用户登录后,我要访问 SAML令牌 (我假设它是SAML断言的XML的base64编码版本)。 我似乎找不到此令牌。 我已经查看了Onboarding文档,网址为:

https ://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/zh-CN/Documents/Frameworks/SAPFioriFlows/Onboarding%20-%20basics.html

有一段指出:

"某些基于Web的身份验证提供了使用网络组件的cookie存储区将与身份验证有关的设置持久化为cookie的功能。例如,在OAuth或SAML期间"记住我"或其他类似选项。通常通过设置一个 根据上述行为,这些Cookie会保存在给定的入职会话的安全存储中,并且除入职会话的所有者外无法访问。当入职会话被删除时,所有数据都会 也将被删除-这些cookie也将被删除。"

我不确定是否存在我需要的保存并安全存储的cookie。 我一直在研究OnboardingSession,想知道它是否可能位于CredentialStore中。

目前,我很失落。 任何建议将不胜感激。

谢谢

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

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


大家好,

我的情况:

我有一个启用了Onboarding的Assistant生成的iOS应用。 默认的SAML身份验证步骤用于登录自定义身份提供程序(我在云平台帐户上设置了信任)。

我的目标:

用户登录后,我要访问 SAML令牌 (我假设它是SAML断言的XML的base64编码版本)。 我似乎找不到此令牌。 我已经查看了Onboarding文档,网址为:

https ://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/zh-CN/Documents/Frameworks/SAPFioriFlows/Onboarding%20-%20basics.html

有一段指出:

"某些基于Web的身份验证提供了使用网络组件的cookie存储区将与身份验证有关的设置持久化为cookie的功能。例如,在OAuth或SAML期间"记住我"或其他类似选项。通常通过设置一个 根据上述行为,这些Cookie会保存在给定的入职会话的安全存储中,并且除入职会话的所有者外无法访问。当入职会话被删除时,所有数据都会 也将被删除-这些cookie也将被删除。"

我不确定是否存在我需要的保存并安全存储的cookie。 我一直在研究OnboardingSession,想知道它是否可能位于CredentialStore中。

目前,我很失落。 任何建议将不胜感激。

谢谢

付费偷看设置
发送
3条回答
clasier
1楼 · 2020-08-22 07:16.采纳回答

你好Savvas,

不建议期望能够"持久"使用SAML令牌,因为这些令牌通常是短暂的,并且SDK不会尝试这样做。 相反,我们依赖于URLSession使用的标准cookie存储策略。

我很好奇您要完成的工作...如果这是为了优化最终用户体验,那么我建议增加 您当前的设置如下:

在应用的CPMS配置中,不要指定SAML身份验证,而是选择OAuth2。 然后重新生成您的项目。

要完成的工作是引入来自SCP的OAuth2授权和访问端点,受您当前的SAML2信任提供程序的保护。 OAuth2令牌由SDK保留在钥匙串中,并且SDK会在必要时使用"刷新"令牌来重新获得有效的"访问"令牌。

其最终结果是最终用户会使用 无需在每个用户会话上手动登录Web视图。 取而代之的是,他们将看到一个模式化Web视图,该视图在他们的第一个入职事件时以及当OAuth2刷新令牌到期的极短时间间隔(6个月或2年等)时,会显示SAML身份验证形式 。 基于配置)。

悻福寶寶
2楼-- · 2020-08-22 07:05

感谢您的回答,

OAuth2运行正常,如您所述。 现在,我需要访问您在钥匙串上提到的OAuth2令牌。 您能给我任何指向哪里学习如何做的指示吗? SDK是否可以让我轻松访问此方法? 抱歉,如果我缠着你。

谢谢

空代码
3楼-- · 2020-08-22 07:04

要访问令牌,请从onboardingContext.credentialStore中读取。 我不记得我脑海中的钥匙了……您可以打印出" keys()"来检查令牌的存储位置。

一周热门 更多>