【发布时间】:2022-11-27 10:37:01
【问题描述】:
我目前正在尝试通过 Keycloak 使用 OIDC 在我的 Blazor-Webapp 中实现身份验证。 login-url 得到(大部分)正确生成并且用户被重定向。问题在于,在 URL 中设置了参数 prompt=none,这会导致出现无登录提示并立即重定向回 Webapp,并将 error=login_required 作为 url 中的响应。
正如我从thisgithub-issue 中读到的那样,这似乎是为了让可以先尝试静默身份验证。然而,我希望当失败时,用户无论如何都会被重定向到登录提示——事实并非如此(问题中的 cmets 对我没有任何进一步的帮助)。我通过下面的 code-sn-p 添加了身份验证:
// Program.cs
builder.Services.AddOidcAuthentication(options =>
{
builder.Configuration.Bind("Oidc", options.ProviderOptions);
});
// appsettings.json
{
"Oidc": {
"Authority": "http://localhost:8080/realms/xxxxxx",
"ClientId": "xxxxxxxxx",
"PostLogoutRedirectUri": "http://localhost:65283",
"DefaultScopes": [
"roles"
],
"ResponseType": "code"
},
"DetailedErrors": true
}
【问题讨论】: