Azure 应用服务 - Google 帐户 ID 不匹配

标签 azure xamarin.forms azure-mobile-services azure-web-app-service

我正在测试 Azure 应用服务来创建 Web/移动应用。我使用 xamarin.forms 进行移动,使用应用服务移动服务(C# 服务器)进行移动访问,并使用 2 个应用服务 Web 应用。

服务器应用和两个网络应用均已配置为使用 Google Auth,并按照此处的说明使用相同的 Google 凭据:

https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-google-authentication/

我正在尝试获取已登录 Google 用户的用户 ID,在网络应用中,我获得了格式为 112567911111837839502 的 ID(与网络应用 1 和网络应用 2 均匹配),但是当我使用通过移动设备使用同一个 Google 帐户,我得到一个格式为 sid:dc7a23bc80cb2752822351cf5a111111 的 ID(在移动客户端和移动服务器项目上)

我在网络应用程序和移动服务器项目中用于获取 ID 的代码是相同的:

var claimsPrincipal = this.User as ClaimsPrincipal;
        string sid = claimsPrincipal.FindFirst(ClaimTypes.NameIdentifier).Value;

任何人都可以建议一种从移动和网络应用程序获取匹配 ID 的方法吗?我原以为这将是 Azure 应用服务的主要思想之一

谢谢

标记

最佳答案

您可以获得/.auth/me 端点 ( https://yoursite.azurewebsites.net/.auth/me ) - 这将为您提供一个 JSON 对象,您可以解析该对象以查找 google 返回的声明。您的用户 ID 将在那里。

关于Azure 应用服务 - Google 帐户 ID 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38901936/

相关文章:

linux - 如何使用 ARM 模板在创建 HDI 集群的 scriptAction 中提供多个变量

c# - 直接调用电话 Xamarin.Forms

c# - CS0117 C# 'Resource' 不包含 'Drawable' 的定义

Xamarin.Forms:Forms.Context 已过时

java - 如何从 Azure 移动服务获取数据

android - 如何使用 Azure SQL 数据库制作 Xamarin Android 应用程序

azure-mobile-services - VS 2015 "Add Connected Service"-> "Mobile Services"- 配置按钮已禁用

azure - 在数据库中创建物化 View 后如何检查其回填属性?

azure - 微软Azure : Find public-ip from command line of the created instance

azure - 微软Azure存储AzCopy : error parsing the argument "copy"