Tom*_*Tom 9 .net c# mobile facebook azure
我有一个Xamarin.Forms应用程序,我想基于FaceBook和Azure实现其身份验证功能.身份验证本身有效,但我还没有找到从中获取基本用户信息的方法(姓名,电子邮件......)
var user = await DependencyService.Get<IMobileClient>()
.LoginAsync(MobileServiceAuthenticationProvider.Facebook);
Run Code Online (Sandbox Code Playgroud)
在服务器端
var mobileAppUser = (MobileAppUser)User;
var facebookCredentials =
user.GetIdentityAsync<FacebookCredentials>().Result;
Run Code Online (Sandbox Code Playgroud)
mobileAppUser存在,但facebookCredentials始终为null.
我在Azure上的后端是一个用.net编写的新移动Web应用程序.它的所有功能都很有效,除了这个身份验证问题.我找不到在服务器端或客户端解决此问题的正确方法.PLS.请注意,我的问题是关于Azure移动应用程序的新方式,而不是旧的经典应用程序.
你能帮我这么好吗?我们热烈欢迎任何示例代码或文档.
提前致谢!
评论太久了
如果您查看实施GetIdentityAsync,您将看到以下内容:
"EMA_RuntimeUrl"从配置中读取(它不是null,因为那样你会得到一个例外)null.我相信这是你遇到的问题.快速搜索这个问题会带您进入这个问题.
那么您是否已在应用程序属性中的azure门户中的移动应用程序中手动创建了EMA_RuntimeUrl,并将其分配给网关地址?
使用异步调用,您应该等待操作完成,完成后结果将可用。您可以通过多种方式做到这一点,但在这种情况下,最自然的是:
var facebookCredentials = await user.GetIdentityAsync<FacebookCredentials>();
// Here you can use your facebookCredentials variable:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
615 次 |
| 最近记录: |