gpt4 book ai didi

macos - MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession

转载 作者:行者123 更新时间:2023-12-02 05:48:38 24 4
gpt4 key购买 nike

我正在尝试在 MacOS 10.15 中实现新的 ASWebAuthenticationSession ,但我对 callbackURLScheme 有点困惑。

ASWebAuthenticationSession 的头文件显示:

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.

所以我像这样初始化:

self.webAuthSession = [[ASWebAuthenticationSession alloc] initWithURL:self.authURL
callbackURLScheme:@"myurlscheme://"
completionHandler:^(NSURL * _Nullable callbackURL, NSError * _Nullable error) {

}];

我尝试访问的 oauth 提供程序不支持自定义 URL 方案,因此我将其设置为重定向到某个网址,该网址又重定向到我的 URL 方案。

因此,在我的 MacOS 应用程序中单击“登录”后,Safari 会显示一个窗口,允许我登录该服务。成功登录后,会发生重定向,但网页只会转到显示

的屏幕

Safari can't open the specified address.

我可以看到地址是myurlscheme://?code=1234567890abcdefgetc...,这是正确的,但它显然没有调用ASWebAuthenticationSession回调。

如果我将 URL 方案添加到 plist,则 safari 窗口会显示一条提示,询问您是否要在我的应用程序中打开它。

我知道我可以从应用程序委托(delegate)的 application:openURLs: 方法中获取代码,但这很繁琐,有不必要的提示让用户单击,并且还会使 ASWebAuth... safari 窗口保持打开状态。这一切都应该通过回调自动完成。

触发回调的唯一方法是关闭 safari 窗口,在这种情况下,回调会出现错误。

最佳答案

我刚刚返回这里再试一次,它似乎在 MacOS 10.15.110.15.2 beta 上运行良好。

我注意到 callbackURLScheme 参数不得包含 ://

我无法返回并在 10.15 上再次测试它,但我很高兴现在使用它,假设 10.15 上的每个人都已更新到 10.15.1

关于macos - MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58223030/

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