c# - OpenID 的虚张声势问题

标签 c# .net asp.net-core openid-connect swashbuckle

我已在 ASP.NET Core 上配置 Swashbuckle (5.0.0-rc2) 以使用我的 OpenID 服务器 (Openiddict),但 Swagger 未显示任何可用授权。 只有一个空模态。

这是我在 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 上以这种方式配置)并且没有在浏览器中登录,它也不会成功。

我做错了什么?

最佳答案

在 Swagger UI v.3.38.0 中添加了对 OpenID Connect Discovery 的支持。 Swashbuckle 需要将捆绑的 Swagger UI 更新到最新版本:
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1241

关于c# - OpenID 的虚张声势问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56130392/

相关文章:

c# - asp.net mvc 3.0 Razor 中的动态错误

c# - 如何根据集合的已知元素提取 IEnumerable 的一部分?

C# 委托(delegate)实例化与仅传递方法引用

C#:询问用户密码,然后将其存储在 SecureString 中

c# - 在 TLS : The remote server return an error : 234 AUTH TLS OK 上使用 FtpWebRequest 的问题

asp.net - IdentityServer4 快速入门问题

asp.net-core - 在运行时启用/禁用 SwaggerUI

c# - 从 ASP.NET MVC 创建打开的 XML Excel 工作表时出错

c# - 数据流 TransformManyBlock throttle

reactjs - .NET Core webapp 服务 SPA : Blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource