如何在我的网站中使用Bearer令牌授权Web api控制器?

问题描述 投票:1回答:1

我有一个具有标准登录功能的Asp.Net MVC核心应用程序。我已将Web API控制器添加到我的项目中。我想使用承载令牌授权Web api控制器。但是只有这个控制器。我网站的其余部分必须按现在的方式工作。如果我在startup.cs中进行了设置,则表示无记名令牌功能可以正常工作,但会破坏我的网站。然后出现错误401。是否可以仅授权具有承载令牌的控制器?

asp.net-mvc asp.net-core asp.net-web-api bearer-token
1个回答
0
投票

雷克斯的评论是正确的。我包括一个代码示例,它将为您提供所需的内容(假设是JWT)。

Startup.cs

public void ConfigureServices(IServiceCollection services)
    {
     services
          .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
          .AddJwtBearer(options =>
           {
            options.TokenValidationParameters = new TokenValidationParameters
           {
            // omitted
           };
     });

您的控制器

[Authorize(ADD OPTIONAL USER SCOPES/POLICIES)]

添加此属性和传递可选作用域以限制对特定用户的访问。

© www.soinside.com 2019 - 2024. All rights reserved.