小编Moh*_*nia的帖子

swagger UI 使用 Swashbuckle 与 .NET 6 中的 OAuth 代码流没有发送任何身份验证标头

我正在尝试使用 PCKE 获取 OAuth 代码流,以便与 .NET 6 中的 Swashbuckle (6.2.3) 和 swagger ui 一起使用。有一些成功发生的事情:

  • 在 swagger UI 中,我可以单击“授权”按钮并重定向到 Azure 进行登录。
  • 重定向成功返回到 swagger ui,我可以在网络选项卡中看到令牌是通过 swagger ui 从 Azure 检索的。

问题是,当我尝试使用 swagger UI 调用示例天气预报 API 时,授权标头中没有附加任何令牌,并且请求中如下所示:

authorization: Bearer undefined

Run Code Online (Sandbox Code Playgroud)

这是我的代码:

authorization: Bearer undefined

Run Code Online (Sandbox Code Playgroud)

我不确定我错过了什么。有任何想法吗?

更新:我已经能够让它与这样的东西一起工作:

using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Identity.Web;
using Microsoft.OpenApi.Models;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAdB2C"));

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
    
    const string oAuth2 = …
Run Code Online (Sandbox Code Playgroud)

swagger swagger-ui swashbuckle openapi

7
推荐指数
1
解决办法
1017
查看次数

标签 统计

openapi ×1

swagger ×1

swagger-ui ×1

swashbuckle ×1