我有一个我用来通过OAuth2.0登录Microsoft AD的NativeScript应用程序。我遇到的问题曾经是用户通过在Android上显示的WebView登录的,WebView不会关闭,而是加载旋转器不断旋转。
如果我手动关闭WebView,然后再次按登录,则用户显示为"签名",但是回调从未完成,令牌永远不会返回。
我在这样的清单中配置了自定义URI方案:
<data android:path="/auth" android:scheme="msalb43ddc9a-94c3-4208-896e-238111882850"/>
(我知道还有更多代码,但它的样板)
和我的apps.dev.microsoft.com在默认情况下,我已经配置了所有配置来使用此功能。
我还在我的请求中配置了重定向:
openIdSupport: 'oid-full',
clientId: 'b43ddc9a-94c3-4208-896e-238111882850',
redirectUri: 'msalb43ddc9a-94c3-4208-896e-238111882850://auth',
urlScheme: 'msalb43ddc9a-94c3-4208-896e-238111882850',
scopes: ['openid']
在iOS上,回调工作,我将令牌恢复。
当auth成功时,浏览器选项卡应自动关闭,并且Azure AD B2C呼叫回到应用程序。您可能会误认为您的应用程序,或者它们是您使用的特定浏览器中的错误(我们以前在较小的浏览器上看到了这一点,因此数据可能会有所帮助)。关于Azure AD B2C,我高度劝阻使用WebView作为Google和其他身份提供商明确禁用WebView支持。
我建议您启用记录并与我分享日志文件。
我们这里有一个文档,可以突出显示一些不同的UI以及如何启用每个UI:https://github.com/azuread/microsoft-authentication-library-forrary-for-for-android/wiki/customising-browser-browsers-browsers-browsers-mar-ph-; -webviews
请检查并查看是否有帮助。