我按照本教程使用 Azure AD 对我的 Azure 移动服务进行身份验证,但我无法使 URL 重定向正常工作。也许我误解了,但这就是我尝试过的......
在 iOS 项目中
,我将此 URL 方案添加到 info.plist:com.spike.Xamarin.OAuth:/oauth2redirect
我覆盖了AppDelegate.OpenUrl
方法(两个重载)并实现了教程中的代码
在 PCL 项目
中,我将身份验证 URL 作为https://(my service).azurewebsites.net/.auth/login/aad
重定向 URL 传递,并将相同的 URL(如上)传递给Xamarin.Auth.OAuth2Authenticator
ctor。我为事件添加了一个事件处理程序Xamarin.Auth.OAuth2Authenticator.Completed
,以获取访问令牌等。
在我受保护的 Azure 移动服务(AAD / Express)中,我将上述 URL 注册OAuth.Xamarin.spike.com:/oauth2redirect
为“允许的外部重定向 URL”。
结果
发生的事情是我进入登录页面,并且能够按预期填写我的凭据。但最终重定向永远不会命中 AppDelegate.OpenUrl 方法。相反,iOS Safari 似乎最终以https://(my service).azurewebsites.net/.auth/login/aad/callback
.
我在这里做错了什么?