gpt4 book ai didi

IdentityServer4 PostLogoutRedirectUri

转载 作者:行者123 更新时间:2023-12-04 07:16:12 26 4
gpt4 key购买 nike

我对如何使用它感到困惑。

我见过的大多数例子都以“/signout-callback-oidc”的形式给出。这似乎表明它在此过程中使用了 OIDC 中间件。如果我想返回到特定的客户端页面怎么办?

当我将 IdentityServer 的 AutomaticRedirectAfterSignOut 的 AccountOptions.cs 属性设置为 true 时,自动重定向不起作用。此外,在注销期间,我没有收到客户端的 PostLogoutRedirectUri。

那么,该链接应该转到 OIDC 中间件,还是可用于重定向到客户端?

最佳答案

您的客户端必须配置为请求回调到这些 URI 之一,作为客户端启动的注销流程的一部分。

IS4 客户端可以配置允许登录和注销的重定向 URI 列表,我猜这就是您看到的位置 /signout-callback-oidc -- 如果我没记错的话,文档或快速入门代码都使用了它,但该特定 URI 名称没有什么特别之处。 (据我所知,这不是一些 OIDC 标准,也不是“众所周知的”名称,或任何类似性质的东西。)

缺少的一块拼图是在客户端应用程序中配置 OIDC。您没有提到客户端是哪种应用程序,但在 ASP.NET Core 中,它是一个名为 SignedOutCallbackPath 的选项。在 AddOpenIdConnect服务:

services.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = appConfig["OidcAuthority"];
options.ClientId = appConfig["OidcClientId"];
options.ClientSecret = appConfig["OidcClientSecret"];
// etc

options.SignedOutCallbackPath = "/jake-says-goodbye";
});

这会导致 OIDC 实现向标识该重定向 URI 的注销请求添加一个属性。只要您的应用程序正确识别自身,如文档 here 中简要提到的那样, 只要 /jake-says-goodbye是 IS4 端批准的注销后重定向 URI 之一,您应该得到您期望的回调。

(我特别提到了“正确的”识别,因为根据我所看到的 github 问题,听起来管理基于 JS 的 SPA 客户端应用程序可能比 MVC 在幕后为管理服务器所做的任何有用的事情更难——到服务器的 OIDC 交互。我不能说,因为我还没有需要用 IS4 实现任何 SPA 客户端。)

关于IdentityServer4 PostLogoutRedirectUri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com