KeychainStoreManager在钥匙串中的持久凭证

2020-08-22 04:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我试图揭开Keychai...

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

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


大家好,我试图揭开KeychainStoreManager的神秘面纱,以将我们的应用程序凭据保存在Keychain中

业务案例:

每个应用程序都应有自己的本地存储,仅应共享应用程序凭据...这将有助于在同一设备上启动许多应用程序

示例:如果我们有5个用于1部iPhone的应用程序,那么我们应该仅在第一个应用程序中注册,我们不想为其他应用程序重新输入凭据。

我已经阅读了文档,据我所知,我们可以使用KeychainStoreManager通过访问组将漏洞存储持久保存到Keychain中。

有没有一种简单的方法可以只共享"钥匙串共享"功能内的凭据,而不是访问组功能?

这是否意味着我需要在入职流程中包含两个步骤,一个步骤用于持久存储本地存储,一个步骤用于将共享存储持久存储在访问组中,并且仅将我的OAuth2AuthenticationStep包装在StoreSelectorStep

并将其注入凭证的共享存储区?

谢谢

3条回答
Bunny_CDM
2020-08-22 05:04

KeychainStoreManager上的此构造方法

  public init(keychainAccessGroup:String ="",cipherHandler:@escaping(String?)抛出-> Ciphering?= KeychainStoreManager.cipher(for:)) 

旨在支持钥匙串访问组共享。

如果我了解Apple提供的"钥匙串共享"文档,则这里有2种"组"类型在起作用:

1。 kSecAttrAccessGroup ,该分区对应用程序钥匙串
2进行了分区。 AppGroup,使多个应用程序可以访问应用程序钥匙串

您似乎需要对两者进行分层,才能完成共享。

此文档中有许多图表显示了这种重叠: https://developer .apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps

一周热门 更多>