[OpenApiSecurity(“bearer_auth”在 .NET 8 隔离的进程外模型中不起作用

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

我正在处理 Azure .NET 8 函数,以下函数装饰器不起作用。

[OpenApiSecurity(“bearer_auth”,SecuritySchemeType.Http,Scheme = OpenApiSecuritySchemeType.Bearer,BearerFormat =“JWT”)] 我已经尝试过以下方法。

[Function("Function1")]

[OpenApiOperation(operationId: "oauth.flows.implicit", tags: new[] { "oauth" }, Summary = "OAuth implicit flows", Description = "This shows the OAuth implicit flows", Visibility = `OpenApiVisibilityType.Important)]

[OpenApiSecurity("bearer_auth", SecuritySchemeType.Http, Scheme = OpenApiSecuritySchemeType.Bearer, BearerFormat = "JWT")]
[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(IEnumerable<string>), Summary = "successful operation", Description = "successful operation")]

public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
     _logger.LogInformation("C# HTTP trigger function processed a request.");
      return new OkObjectResult("Welcome to Azure Functions!");
}

当我在 swagger ui 中测试时出现以下错误

[可用授权。未知的安全定义类型] (https://i.stack.imgur.com/8Uy35.png)

swagger-ui bearer-token azure-functions-isolated
1个回答
0
投票

承载身份验证需要 OpenAPI v. 3。请确保您已将

OpenApiVersion
设置为
OpenApiVersionType.V3
,如 此处所述:

public class MyOpenApiConfigurationOptions : IOpenApiConfigurationOptions
{
    ...

    public OpenApiVersionType OpenApiVersion { get; set; } = OpenApiVersionType.V3;

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