问题标签 [aswebauthenticationsession]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
292 浏览

ios - ASWebAuthenticationSession:支持自己的提供者

我的公司有几个应用程序,希望使用它自己的 SSO 服务,而不是使用像 google 或 facebook 这样的公众。

对于 SSO,我们想使用 ASWebAuthenticationSession。该 SSO 服务与 ASWebAuthenticationSession 一起工作的要求是什么?我在apple.com上找不到相关信息

0 投票
1 回答
1503 浏览

ios - 如何使用 SFAuthenticationSession 注销

我使用SFAuthenticationSessionSSO 登录到login.microsoftonline.com. 它工作得很好,但是注销存在问题。SFAuthenticationSession不提供清除 cookie 的方法。因此,当我SFAuthenticationSession.start()再次调用时,我会获得带有身份验证令牌的先前回调 url,而不是允许用户提供新凭据。

作为一种解决方法,我login.microsoftonline.com/common/oauth2/logoutSFAuthenticationSession.start(). 它有效,但 UX 体验比糟糕还糟糕。

真的没有其他方法可以清除 cookieSFAuthenticationSession吗?会话不与 Safari 共享,因此打开 web 视图也不起作用。

ASWebAuthenticationSession而不是SFAuthenticationSession允许以某种方式清除cookies ?

我知道已经在 SO 上提出了非常相似的问题,但也许这个主题有一些更新。

0 投票
1 回答
1832 浏览

ios - 使用 SFSafariViewController 代替 ASWebAuthenticationSession/SFAuthenticationSession 进行 OAuth

我们的用户体验团队不喜欢每次打开登录页面时都会弹出同意书。此外,我们希望自定义使用ASWebAuthenticationSession/SFAuthenticationSession.

由于上述原因,我正在考虑更改实现并SFSafariViewController直接用于身份验证。

虽然我没有找到任何参考资料,但我担心如果使用SFSafariViewControllerOAuth 会在 Appstore 提交中出现问题,因为 Apple 已经以ASWebAuthenticationSession/SFAuthenticationSession?有人对此有看法吗?

0 投票
0 回答
1022 浏览

single-sign-on - ASWebAuthenticationSession 只显示取消按钮

我正在使用身份验证我们的 Web 服务ASWebAuthenticationSession,出于某种原因,最终重定向后的唯一选项是Cancel。我之前有这个工作,即使我确实按下了取消,回调 Url 也是通过完成处理程序发送的,我能够在那里解析令牌表单。但现在我得到了错误ASWebAuthenticationSessionErrorCodeCanceledLogin

如何获得ASWebAuthenticationSession显示完成按钮并使用回调 URL 完成处理程序?上次 iOS 更新中是否发生了变化或中断?

我如何创建会话

完成处理程序

输出

回调 URL:(空),错误:错误域 = com.apple.AuthenticationServices.WebAuthenticationSession 代码 = 1“(空)”

在此处输入图像描述

就像我提到的那样,这以前有效,我不确定它在哪里坏了。我使用的测试服务没有改变,所以我想知道它是否在框架中,或者我是否缺少其他东西。

Web 服务是否应该将特定标头发送回最终的 Url,以便ASWebAuthenticationSession显示 Done 按钮并使用 Url 完成处理程序?

0 投票
1 回答
1411 浏览

ios - 使用 ASWebAuthenticationSession 连接 Strava 帐户失败

我在使用用于 iOS 应用程序中的 OAuth2 进程的新 ASWebAuthenticationSession 类时遇到问题。

我想使用这个类将我的应用程序与我的 Strava 帐户连接起来。我有以下代码:

我将自定义 URL 方案添加到我的 info.plist 文件中。我将示例代码中的回调 url 更改为“test.com”,但实际上,这与我的 Strava 应用程序设置中使用的回调 url 完全相同。

当我调用 authenticate() 函数时,会弹出一个对话框并打开 Strava 站点。当我单击“授权”时,不会调用completionHandler(仅当我单击取消时才会调用它)。

我必须添加一些不同的东西吗?我的回调网址有效吗?我尝试了回调 URL 方案和我在 Strava 中设置的回调 url 的几种组合,但没有任何效果。

在此处输入图像描述

0 投票
1 回答
1143 浏览

swift - 使用 ASWebAuthenticationSession 时清除 cookie

使用 ASWebAuthenticationSession 时如何清除 cookie,场景就像,不同的用户可以使用相同的设备登录。如果用户已经在完成 SSO 的情况下使用它,则应用不会为新用户坚持 SSO。

所以需要清除cookies。

提前致谢。

0 投票
2 回答
1012 浏览

macos - MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession

我正在尝试ASWebAuthenticationSession在 MacOS 10.15 中实现新功能,但我对callbackURLScheme.

头文件ASWebAuthenticationSession说:

回调 URL 通常具有自定义 URL 方案。要让应用程序接收回调 URL,它需要在其 Info.plist 中注册自定义 URL 方案,或者在初始化程序中将方案设置为 callbackURLScheme 参数。

所以我这样初始化:

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

因此,在我的 MacOS 应用程序中单击登录后,Safari 会显示一个允许我登录服务的窗口。成功登录后重定向发生,但网页只是进入一个屏幕说

Safari 无法打开指定地址。

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

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

我知道我可以从 App Delegate 的application:openURLs:方法中获取代码,但这很繁琐,有一个不必要的提示让用户单击,并且还ASWebAuth...打开了 safari 窗口。这应该都是通过回调自动完成的。

我让回调触发的唯一方法是关闭 safari 窗口,在这种情况下,它会以错误方式回调。

0 投票
1 回答
2112 浏览

ios - 你如何使用 ASWebAuthenticationSession、本机应用程序、https:需要重定向?

我正在使用 ASWebAuthenticationSession 进行 OAuth,并且当我可以使用我的自定义方案时一切正常。但是,当我尝试使用需要重定向 url“ https://myapp.com/auth ”中的协议的服务时,在执行授权步骤后,我只会看到“找不到服务器...”。

0 投票
1 回答
683 浏览

ios - ASWebAuthenticatioSession SSO 对话同意问题

当使用 SFAuthenticationSession 或 ASWebAuthenticationSession 时,当前每次显示窗口时都会提示用户同意。

在某些时候,用户选择退出并再次显示 UIAlert 询问他们是否同意登录

用户已登录,正在尝试退出并被提示同意登录 - 因此他们可能会退出

另外,当尝试使用 ASWebAuthenticationSession 打开需要相同应用程序身份验证的网页时,会显示对话框,而当使用其他浏览器(如 SFSafariViewController)时,用户未经过身份验证。

0 投票
2 回答
838 浏览

ios - 在 Strava 身份验证上未调用 ASWebAuthenticationSession completionHandler

在 Strava 身份验证中单击授权按钮时未调用 ASWebAuthenticationSession completionHandler。下面给出的是我的代码。(使用使用 ASWebAuthenticationSession 连接到 Strava 帐户无法实现此链接。)

我的 info.plist 文件看起来像 在此处输入图像描述