gpt4 book ai didi

ios - Swift 跨应用程序身份验证不起作用

转载 作者:行者123 更新时间:2023-11-28 07:25:38 27 4
gpt4 key购买 nike

我试图让我的应用程序和应用程序的共享扩展共享一个登录 token ,但是当我在设置访问组后登录时,登录失败。我正在使用密码身份验证。

我曾尝试在不设置访问组的情况下登录并且工作正常,但第二次我设置访问组时失败了。我在两个应用程序上都启用了钥匙串(keychain)共享,并将钥匙串(keychain)组设置为相同,并正确设置了权利。

这是我使用设置访问组的代码:

    private func switchGroup() {
do {
try Auth.auth().useUserAccessGroup("<<<GROUP_NAME>>>")
}
catch let error as NSError {
print("Error changing the user group \(error.localizedDescription)")
}
}

这在我登录、注册并尝试获取当前用户之前调用。

这是我的权利:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)<<<BUNDLE_IDENITIFIER>>></string>
</array>
</dict>
</plist>

应该发生的是登录成功。相反,登录错误并显示以下错误消息:

可选 - 一些:错误域=FIRAuthErrorDomain 代码=17995 “访问钥匙串(keychain)时发生错误。@c NSError.userInfo 字典中的@c NSLocalizedFailureReasonErrorKey 字段将包含有关遇到的错误的更多信息” UserInfo={FIRAuthErrorUserInfoNameKey=ERROR_KEYCHAIN_ERROR, NSLocalizedFailureReason= SecItemAdd (-34018), NSLocalizedDescription=访问钥匙串(keychain)时发生错误。 @c NSError.userInfo 字典中的@c NSLocalizedFailureReasonErrorKey 字段将包含有关遇到的错误的更多信息

如果您能提供任何帮助,那就太好了。谢谢。

最佳答案

在与 Firebase 支持进行了一些讨论后,我遇到的问题是钥匙串(keychain)访问组需要像这样读取:

<TEAM_ID>.<APP_NAME>.<GROUP_NAME> 

Xcode 中还有一个错误,当您通过功能部分添加它时,添加了 $(AppIdentifierPrefix),这是错误的。此外,钥匙串(keychain)访问组需要在整个应用程序中保持一致。一旦我添加了修复,一切正常。

关于ios - Swift 跨应用程序身份验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56706413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com