asp.net-core - OpenID Connect 与 ASP NET Core 3.1 没有众所周知的 URL
问题描述
我正在尝试以这种方式使用 ASP.NET Core 3.1 配置 OpenID Connect:
.AddOpenIdConnect(cfg =>
{
cfg.Authority = "https://myurl.io";
cfg.ClientId = "123455555";
cfg.ClientSecret = "11111";
cfg.ResponseType = "code";
cfg.Scope.Clear();
cfg.Scope.Add("openid");
});
但是当我尝试启动应用程序时,出现以下错误:
System.InvalidOperationException:IDX20803:无法从以下位置获取配置:'[PII 被隐藏。有关更多详细信息,请参阅 https://aka.ms/IdentityModel/PII.]'。
好吧,我知道这是因为我没有众所周知的 medadata url,有没有办法忽略这个 url 并手动填写信息Startup.cs
?
解决方案
可以直接指定配置:
services
.AddAuthentication()
.AddOpenIdConnect(options => {
options.Configuration = new OpenIdConnectConfiguration
{
JwksUri = "",
AuthorizationEndpoint = "",
TokenEndpoint = "",
UserInfoEndpoint = "",
Issuer = "",
// ...
};
})
根据您的需要,您可能至少需要填写:
- 授权端点
- 令牌端点
- 用户信息端点
- 发行人
- jwks 端点(或以不同方式执行验证)
推荐阅读
- python-3.x - 当用户尝试对已经完成的线程进行操作时,我应该使用 Python 的内置 ProcessLookupError 吗?
- laravel - Livewire 数据表无法访问公共财产
- python - 如何使用 aiohttp 发送文件?
- visual-studio-code - 禁用 workbench.editor.showTabs 时,如何在未聚焦的选项卡中显示面包屑?
- ansible - ansible vault 可以加密插件配置文件中的值吗?
- r - 从按 Special_ID 分组的大型数据集中采样唯一行/Normal_ID
- android - Uno Platform Android 和 UWP:如何将文件复制到本地文件夹?
- javascript - 如何在没有npm和es6的情况下在deckgl中使用FitBounds
- swiftui - 如何在不使用 Geometry Reader 的情况下获取 safeAreaInsets
- jquery - 空气日期选择器禁用日期样式在当月无效