我已经在ASP.NET Core上配置了Swashbuckle(5.0.0-rc2)以与我的OpenID服务器(Openiddict)一起使用,但是Swagger没有显示任何可用的授权。 只是一个空的模态。
这是我在招摇上设置OpenID的代码段
services.AddSwaggerGen(c =>
{
//... omitted for brevity
//baseAccountsUrl is "https://localhost:5401"
c.AddSecurityDefinition("AccountsOpenID", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.OpenIdConnect,
OpenIdConnectUrl = new Uri($"{baseAccountsUrl}/.well-known/openid-configuration")
});
}
如果我在到达此处之前登录,则每个操作都可以正常进行,否则,每个方法都将重定向到登录并显示在服务器响应中。
如果我使用OAuth2代替具有密码流的OpenID(它是在Openiddict上以这种方式配置的),并且未在浏览器中登录,那么它也不成功。
我在做什么错了?
答案 0 :(得分:0)
Swagger用户界面 Swagger编辑器和Swagger UI当前不支持OIDC。请关注此问题以获取更新。
https://swagger.io/docs/specification/authentication/openid-connect-discovery/