如何为react-oidc-context配置自定义登出跳转URL?
如何为react-oidc-context配置自定义登出跳转URL?
嘿,这个问题我之前刚好处理过,其实配置起来超简单的!你只需要在项目里初始化AuthProvider的配置项中,添加一个logoutEndpoint参数就能搞定。
具体来说,找到你项目里设置AuthProvider的根组件(一般是App.tsx或者类似的入口文件),在OIDC配置对象里加上logoutEndpoint,把值设为你想要的授权服务器登出地址http://host:8080/connect/logout就行。
给你个实际的代码示例参考:
import { AuthProvider } from 'react-oidc-context'; const oidcConfig = { authority: 'http://host:8080', client_id: '你的客户端ID', // 替换成你实际的客户端ID redirect_uri: 'http://你的前端地址/callback', // 你的前端回调地址 post_logout_redirect_uri: 'http://你的前端地址/logout-complete', // 可选:登出完成后跳回前端的地址 logoutEndpoint: 'http://host:8080/connect/logout', // 这就是你要的自定义登出端点! // 其他原有配置项... }; function App() { return ( <AuthProvider {...oidcConfig}> {/* 你的应用内部组件 */} </AuthProvider> ); }
如果你的authority已经配置为http://host:8080,也可以直接用相对路径,这样后续如果域名变动会更灵活:
logoutEndpoint: '/connect/logout'
配置完成后,你原来写的signOut函数完全不用改——当调用auth.signoutRedirect()时,react-oidc-context会自动使用你配置的这个自定义登出地址,并且自动带上id_token_hint参数,刚好就是你想要的URL格式~
备注:内容来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

