我按照Configure App Service to use Facebook Login
的说明操作我已经设置了一个Facebook应用并按照说明设置了设置。在我的回调中,我将“/.auth/login/facebook/callback”附加到我的移动应用程序的URL。
在Xamarin.iOS项目中,我使用WindowsAzure.MobileServices
客户端来呼叫登录:
await client.LoginAsync(current, MobileServiceAuthenticationProvider.Facebook)
我可以显示Facebook登录信息,但在我进行身份验证并授予权限后,我会收到一个页面,其中包含“您要查找的资源已被删除,名称已更改或暂时不可用”,并且控件不是被送回我的应用程序。
我为未经身份验证的用户配置了我的移动应用程序“使用Facebook登录”,因此当我尝试直接从浏览器访问回调URL时,我被指示使用Facebook登录。登录后,我将收到https:// {mymobileapp} .azurewebsites.net / .auth / login / done# = ,并显示“您已成功登录”
这让我相信我正在使用的Azure移动客户端可能不知道如何处理重定向???我使用的是Windows Azure Mobile Services版本1.3.2,它似乎是最新版本,但大约一年前发布了。
更新:我应该使用Azure Mobile Client SDK吗?我很困惑!
答案 0 :(得分:1)
您使用的是当前平台的新App服务移动应用吗? 如果是这样,这里有关于如何将facebook身份验证添加到您的xamarin ios应用程序的参考。 https://azure.microsoft.com/en-in/documentation/articles/app-service-mobile-xamarin-ios-get-started-users/
从您的帖子看起来您正在使用新服务。在这种情况下,Windows Azure移动服务版本1.3.2将不适合您。
您应该在此处使用Azure Mobile Client SDK。
答案 1 :(得分:1)
是的,如果您正在使用App Service,则需要使用Mobile Client SDK。
客户端的主要区别在于成功进行身份验证后重定向/回调的工作方式。
使用App Service,我们希望将客户端重定向到/.auth/login/facebook/callback。
使用旧的Mobile Service SDK,它会监视重定向到/ login / facebook或/ signin-facebook,具体取决于您是否分别运行Node或.NET。
使用应用服务,我们将始终重定向到/.auth/login/facebook/callback。