Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在没有web api的情况下基于承载令牌检索用户信息(以及角色)?_C#_Claims Based Identity_Azure Active Directory - Fatal编程技术网

C# 如何在没有web api的情况下基于承载令牌检索用户信息(以及角色)?

C# 如何在没有web api的情况下基于承载令牌检索用户信息(以及角色)?,c#,claims-based-identity,azure-active-directory,C#,Claims Based Identity,Azure Active Directory,我有定制的Web服务。 我们的前端应用程序将处理身份验证。 我们的中间件层将使用承载令牌消费请求 中间件需要通过调用Graph api来确定用户是谁。 中间件不是基本的Web API,而是一些第三方工具。 我只有令牌和httpContext 如何验证承载令牌的正确性 如何在Graph Api上检索用户信息?承载令牌应包含您需要的所有信息。假设这个令牌是Jwt,您应该能够解码它并查看它包含什么声明。请看一看“”nuget软件包。它包含JwtSecurityTokenHandler类,可能有助于解析

我有定制的Web服务。 我们的前端应用程序将处理身份验证。 我们的中间件层将使用承载令牌消费请求

中间件需要通过调用Graph api来确定用户是谁。 中间件不是基本的Web API,而是一些第三方工具。 我只有令牌和httpContext

如何验证承载令牌的正确性
如何在Graph Api上检索用户信息?

承载令牌应包含您需要的所有信息。假设这个令牌是Jwt,您应该能够解码它并查看它包含什么声明。请看一看“”nuget软件包。它包含JwtSecurityTokenHandler类,可能有助于解析令牌。

您的服务层不必是Web API,就可以使用ADAL从Azure Active Directory获取令牌。我认为Vittorio的以下文章应该帮助您了解如何与AAD交互,以便能够与Graph API对话:


好消息:我们最近在Azure AD中启用了应用程序角色功能,应用程序可以使用该功能声明可以分配给Azure管理门户中的用户和组的角色(角色分配在Azure AD中实时进行)。当用户登录到应用程序时,Azure AD在承载令牌(在您的情况下,中间件服务的令牌)中包含角色声明

请在此处阅读:

应用程序角色的深度发布和视频功能如下:

希望有帮助