【问题标题】:OWIN Configuration not firing Not Authorize if no token is provided如果未提供令牌,则 OWIN 配置未触发 Not Authorize
【发布时间】:2021-08-02 12:55:15
【问题描述】:

我像这样配置了我的 OWIN 启动类:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
        app.UseActiveDirectoryFederationServicesBearerAuthentication(
            new ActiveDirectoryFederationServicesBearerAuthenticationOptions
            {
                MetadataEndpoint = ConfigurationManager.AppSettings["ida:AdfsMetadataEndpoint"],
                TokenValidationParameters = new TokenValidationParameters()
                {
                    ValidAudience = ConfigurationManager.AppSettings["ida:Audience"],
                    ValidIssuer = ConfigurationManager.AppSettings["ida:Issuer"]
                }
            }
        );
    }
}

Global.asax.cs:

public class WebApiApplication : HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
}

还有我的控制器:

[RoutePrefix("v1/onboarding")]
public class OnboardingController : ApiController
{
    [Route("client")]
    [HttpGet]
    public HttpResponseMessage CreateClient([FromUri] string CIFID)
    {
        return new HttpResponseMessage(HttpStatusCode.Created);
    }
}

但是当我使用邮递员在没有 Bearer 令牌的情况下调用 GET /client 时,调用会继续进行,并且我会得到 201 响应状态。

如果我不提供不记名令牌,它应该会触发 403 Not Authorized 状态码,对吧?

【问题讨论】:

    标签: .net jwt owin


    【解决方案1】:

    为控制器添加了 [Authorize] 属性。

    【讨论】:

      猜你喜欢
      • 2018-01-31
      • 2019-06-23
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2020-01-14
      • 2020-12-23
      相关资源
      最近更新 更多