ASWebAuthenticationSession/SFAuthenticationSession 中的 callbackURLScheme 的作用是什么?

6

我很惊讶没有找到更清晰的解释来说明callbackURLScheme的逻辑(包括completionHandler)如何工作。

是的,总的来说,它与url schema有关,在plist文件中可以指定,并且与Deep Linking的工作方式有关。

但是,

  • 它如何与ASWebAuthenticationSession/SFAuthenticationSession流程绑定?我的意思是,它是否在浏览器url中查找类似的模式,并且如果变得相等,它会拦截响应,关闭浏览器窗口并返回应用程序的访问权限?

  • 如果没有定义url schema,而只是使用相关域名呢?我应该指定传递给服务器的“返回”url,还是仍然需要schema?

  • 如果我传递null值怎么办?互联网上有一些注释,称它以某种神奇的方式绑定到plist文件,但是没有具体的文档。

非常感谢答案!

1个回答

0
ASWebAuthenticationSession有点神秘。Swift头文件可以提供一些帮助。(在Xcode中,通过Command +右键单击ASWebAuthenticationSession类跳转到定义)
完成后,服务将发送一个带有身份验证令牌的回调URL,并将此URL通过ASWebAuthenticationSessionCompletionHandler传递给应用程序。 回调URL通常具有自定义URL方案。为了使应用程序接收回调URL,它需要在Info.plist中注册自定义URL方案,或者将方案设置为初始化器中的callbackURLScheme参数。
实际上,我的测试表明,在iOS 14上它的工作方式与描述相同。您需要注册自定义URL方案并为相应参数提供nil,或者只是放置参数。或者两者都有。成功登录后调用完成符合预期。文档中没有提到这些细节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接