callbackURLScheme 在 ASWebAuthenticationSession/SFAuthenticationSession 中的作用是什么?
What's the role of callbackURLScheme in ASWebAuthenticationSession/SFAuthenticationSession?
我很惊讶我无法或多或少地清楚地解释 逻辑 与 callbackURLScheme(包括 completionHandler) 的工作原理.
是的,总的来说,很明显它与 url 模式有关,可以在 plist 文件中指定,以及深度链接的工作方式。
然而,
它是如何绑定到ASWebAuthenticationSession/SFAuthenticationSession流的?我的意思是,它是否在浏览器 url 中寻找类似的模式,如果它变得相等,它会拦截响应,关闭浏览器 window 和 returns 对应用程序的访问?
如果没有定义 url 架构,但我只是在使用关联域怎么办?我应该指定 "return" url 传递给服务器,还是应该有架构?
如果我为它传递 null 会怎么样? Internet 上有一些说明,它以某种神奇的方式绑定到 plist 文件,但是,同样,没有关于此的特定文档。
非常感谢您的回答!
ASWebAuthenticationSession 真的有点神秘。 Swift header 可以说明一些问题。 (跳转到定义:Command + 右键单击 Xcode 中的 ASWebAuthenticationSession class)
On completion, the service will send a callback URL with an authentication token, and this URL will be passed to the app by
ASWebAuthenticationSessionCompletionHandler.
The callback URL usually has a custom URL scheme. For the app to receive the callback URL, it needs to either register the
custom URL scheme in its Info.plist, or set the scheme to callbackURLScheme argument in the initializer.
实际上我的测试表明,在 ios 14 上,它按描述工作。您需要注册自定义 URL 方案并为相应的参数提供 nil 或只输入参数。或两者。成功登录后的完成按预期调用。文档中没有提到这些细节。
我很惊讶我无法或多或少地清楚地解释 逻辑 与 callbackURLScheme(包括 completionHandler) 的工作原理.
是的,总的来说,很明显它与 url 模式有关,可以在 plist 文件中指定,以及深度链接的工作方式。
然而,
它是如何绑定到ASWebAuthenticationSession/SFAuthenticationSession流的?我的意思是,它是否在浏览器 url 中寻找类似的模式,如果它变得相等,它会拦截响应,关闭浏览器 window 和 returns 对应用程序的访问?
如果没有定义 url 架构,但我只是在使用关联域怎么办?我应该指定 "return" url 传递给服务器,还是应该有架构?
如果我为它传递 null 会怎么样? Internet 上有一些说明,它以某种神奇的方式绑定到 plist 文件,但是,同样,没有关于此的特定文档。
非常感谢您的回答!
ASWebAuthenticationSession 真的有点神秘。 Swift header 可以说明一些问题。 (跳转到定义:Command + 右键单击 Xcode 中的 ASWebAuthenticationSession class)
On completion, the service will send a callback URL with an authentication token, and this URL will be passed to the app by ASWebAuthenticationSessionCompletionHandler. The callback URL usually has a custom URL scheme. For the app to receive the callback URL, it needs to either register the custom URL scheme in its Info.plist, or set the scheme to callbackURLScheme argument in the initializer.
实际上我的测试表明,在 ios 14 上,它按描述工作。您需要注册自定义 URL 方案并为相应的参数提供 nil 或只输入参数。或两者。成功登录后的完成按预期调用。文档中没有提到这些细节。