c# - 如何在Azure移动Web应用程序中获取基本用户信息?

标签 c# .net facebook azure mobile

我有一个 Xamarin.Forms 应用程序,我想基于 FaceBook 和 Azure 实现其身份验证功能。身份验证本身有效,但我还没有找到从中获取基本用户信息的方法(姓名、电子邮件...)

var user = await DependencyService.Get<IMobileClient>()
            .LoginAsync(MobileServiceAuthenticationProvider.Facebook);

在服务器端

 var mobileAppUser = (MobileAppUser)User;
 var facebookCredentials = 
     user.GetIdentityAsync<FacebookCredentials>().Result;

mobileAppUser 存在,但 facebookCredentials 始终为 null。

我在 Azure 上的后端是一个用 .net 编写的新移动 Web 应用程序。除了这个身份验证问题之外,它的所有功能都运行良好。我找不到在服务器端或客户端解决此问题的正确方法。请。请注意,我的问题是关于 Azure 移动应用程序的新方式,而不是旧的经典方式。

你愿意帮助我吗?热烈欢迎任何示例代码或文档。

提前致谢!

最佳答案

评论太长

如果你检查 GetIdentityAsync 的实现,您将看到以下内容:

  • 它检查用户是否已通过身份验证(您说过用户已通过身份验证,所以这里没有问题)
  • 从配置中读取“EMA_RuntimeUrl”(它不为空,因为这样你会得到一个异常)
  • 它检查来自提供商的 token 是否有效。如果不是,则返回null

我相信这就是您遇到的问题。快速搜索此问题,您会看到 this所以问题。

那么,您是否在 Azure 门户的应用程序属性中的移动应用中手动创建了 EMA_RuntimeUrl,并将其分配给网关地址?

关于c# - 如何在Azure移动Web应用程序中获取基本用户信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346179/

相关文章:

c# - 在 C# 中测试两个接口(interface)实例之间的值相等性?

c# - 通过 Service Fabric 项目调试时未使用环境变量

c# - 使用 Tor 作为代理

.net - IIS 无法连接到 LocalDB

ios - 如何取消Facebook登录?

CSS 未在 Facebook Canvas 页面中加载

facebook - Zend 框架 : Meta property integration

c# - 将 Json 数组解析为 C# 类

.NET编译平台: Not Working

.net - 如何使用字段将 Serilog 数据发送到 Elasticsearch