我需要在现有iOS应用中添加Today Widget /扩展,这需要用户通过WKWebView
登录。
由于扩展程序仅与Apple框架通信或通过openURL()
与主应用程序通信,我如何最好地与今日小部件/扩展程序共享存储在主应用程序中的身份验证令牌,以便它可以进行身份验证API调用?
这可以通过共享钥匙串完成吗?还是有其他安全的选择吗?
让用户在今日扩展程序UI中再次登录是不可行的。
答案 0 :(得分:0)
您可以使用应用程序组在主应用程序和今天的小部件扩展之间共享数据。您需要为您的应用程序激活App Group并创建:
UserDefaults.init(suiteName: "group.com.yourOrganization.yourApplicationName")
在主应用程序中,在此UserDefaults中设置您的数据,并尝试从Today Widget扩展程序中访问它。
答案 1 :(得分:0)
使用共享钥匙串组来存储令牌,如本WWDC视频中的14m00所述:developer.apple.com/videos/play/wwdc2014/217