【发布时间】:2016-07-13 19:09:55
【问题描述】:
当用户通过 Azure Web 应用程序 (ASP.NET MVC) 和 Xamarin.iOS 应用程序登录时,我为同一用户获得了两个不同的 SID
设置
带有 API 控制器的 Azure WebApp ASP.NET 5
Xamarin iOS 应用与 Microsoft.WindowsAzure.Mobile.Client SDK Azure B2C AAD
网络用户
我得到了 AAD SID 的 ObjectIdentifier 值:
var userClaim = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
移动用户
我只得到一个 Nameidentifier 值,没有 ObjectIdentifier
ClaimsPrincipal mobileUser = this.User as ClaimsPrincipal;
var mobileUserClaim = mobileUser.FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier");
SID 完全不同,用户身份验证的 SID 从 Mobile 获取 SID:xxxx 而从 Web 获取 xxx
我知道如果我设置了一个 Azure 移动应用程序和一个 Azure Web 应用程序,那么在进行身份验证时 SID 是相同的。但我不想为我的应用程序的大小(小)管理两个站点。该应用程序的目的是让一个简单的 Web 应用程序在电话上执行一些操作和相同的操作,从电话我使用 Azure 移动服务 SDK 和 InvokeAPIAsync 来使用 Web 应用程序中的 API 控制器。
谢谢
【问题讨论】:
标签: azure azure-web-app-service azure-mobile-services azure-active-directory claims-based-identity