2017-06-06 113 views
0

我试图复制下面的示例https://github.com/Azure-Samples/active-directory-dotnet-windows-store(一个Windows商店应用程序对azure AD进行身份验证),但我用Azure函数替换Web应用程序。Windows商店应用程序进行天蓝色功能验证

在功能,代码检查用户是否登录如下:

ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/scope").Value.Contains("user_impersonation")) 

但这并不包含所需的值,以及其他调用不返回任何值,或者(如ClaimsPrincipal .Current.FindFirst(ClaimTypes.GivenName));

你知道发生了什么吗?

回答

0

它与代码是否在Web App或Azure Function中运行无关。根本原因是您获取令牌的差异参数/方式。

当您使用Azure AD保护Azure功能并将该令牌与请求相关联时,它还会解析该令牌并读取令牌中的声明并构造ClaimsPrincipal对象。

您可以在this site中解析令牌以检查令牌中您期望的声明。