如何在.NetCore3.1WebAPIController中获取声明

我在 ASP.NET Core Web API 中有以下配置:

我在 ASP.NET Core Web API 中有以下配置:

// Adds Microsoft Identity platform (AAD v2.0) support to protect this Api
services.AddMicrosoftIdentityWebApiAuthentication(configuration);
services.AddControllers(options =>
{
    var policy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .RequireClaim("email")
        .Build();
    options.Filters.Add(new AuthorizeFilter(policy));
});

我有一个 Angular 客户端应用程序,每个请求发送 AuthToken。

下面是我的 asp.net WEB API 控制器

[Route("[controller]")]
public class UserController : ControllerBase
{
    [HttpGet]
    public IActionResult Get()
    {
        //Get User Email ID from Claims
        //Get User details from Database
        //Return the User Details
        ...
    }
}

在 asp.net WEB API 控制器中,我需要从 AuthToken 获取电子邮件声明。

如何在.Net Core 3.1 Web API Controller 中获得声明?要遵循任何最佳实践?

Reference: https://stackoverflow.com/questions/68817413/how-to-get-user-information-after-login-in-asp-net-core3-1#:~:text=You%20can%20create%20an%20helper%20class%20like%20this%20one%3A
2
 var identity = HttpContext.User.Identity as ClaimsIdentity;
 var email = identity?.FindFirst("email")?.Value;
 //or
 var email2 = User.Claims.FirstOrDefault(x => x.Type == "email")?.Value

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(407)
避免 Telegram的文件大小限制
上一篇
我不知道如何添加一个ID 使我的帖子和我的评论之间的关系(React JS/Strapi)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(43条)