我一直在使用Identity Server 4.0作为我的OpenId Connect提供程序。我可以在Identity Server中使用重定向URI和注销后重定向URI设置客户端。我还一直在使用angular-auth-oidc-client通过Identity Server登录/注销。
登录时,我的客户端库(angular-auth-oidc-client)在调用授权端点时传入了配置中指定的正确URI。当我尝试使用不正确的重定向URI登录时,Identity Server将检查并验证客户端提供的URI是否为该客户端接受的URI之一,如果不是(如预期),则显示错误。
在注销时,我的客户端库在调用注销端点时不发送PostLogoutRedirectUri。Identity Server的注销示例代码不排除要传入的任何URI。它的示例代码只是从数据库中获取注销后重定向Uri值,并在注销页面上创建一个链接。示例代码不仅不允许用户为注销指定重定向URI,但它不执行任何检查甚至不执行重定向(授予其唯一的示例代码,我可以改变它)。我希望我的客户端库在成功注销后传递URI沿着并且Identity Server重定向到该URI,只要它是客户端的“批准”URI之一。
**我的问题是:**PostLogoutRedirectUri到底有什么意义?Identity Server和我正在使用的OIDC客户端库都没有对它做任何有用的事情。似乎甚至没有一个关于查询字符串参数的名称的约定,用于将此Uri传递给Identity Server。然而,Identity Server和Angular 客户端库似乎都对它有一些支持。那么,这个东西有什么意义呢?它是稍后将添加或充实的东西吗?我是否错过了一些描述它的用途和如何使用它的文档?
2条答案
按热度按时间uxhixvfz1#
这是一个草案标准,不同的库和供应商支持不同,但这里是一个总结:
请参阅IETF官方文档了解其工作原理。
wn9m85ua2#
在我自己的应用程序中,我将其设置为客户端的**/Signout-callback-oidc**URL,例如
/signout-callback-oidc路径在源代码here中定义如下:
我希望这可以给予一些问题。