OpenID连接asp.net Core 3.1,无需知名URL



我正在尝试配置OpenID连接ASP。. NET Core 3.1:

.AddOpenIdConnect(cfg =>
{
cfg.Authority = "https://myurl.io";
cfg.ClientId = "123455555";
cfg.ClientSecret = "11111";
cfg.ResponseType = "code";
cfg.Scope.Clear();
cfg.Scope.Add("openid");
});

但是当我尝试启动应用程序时,我得到了以下错误:

系统。InvalidOperationException: IDX20803: cannot to obtain configuration from: '[PII是隐藏的。>>

嗯,我知道这是因为我没有一个众所周知的medadata url,有没有一种方法可以忽略这个url并在Startup.cs中手动填写信息?

可以直接指定配置:

services
.AddAuthentication()
.AddOpenIdConnect(options => {
options.Configuration = new OpenIdConnectConfiguration
{
JwksUri = "",
AuthorizationEndpoint = "",
TokenEndpoint = "",
UserInfoEndpoint = "",
Issuer = "",
// ...
};
})

根据您的需要,您可能至少需要填写:

<<ul>
  • 授权端点/gh><<li>标记端点/gh><<li>用户信息端点/gh>
  • 发行人
  • jwks端点(或以不同的方式执行验证)
  • 最新更新