IdentityServer4 登录成功后,跳转到原来页面
2017-05-13 17:45
1146 查看
IdentityServer4 登录成功后,默认会跳转到
前端会从 URL 中获取到 Token 信息,然后把用户信息和 Token 写入到上下文中,示例代码:
可以看到,登录成功后,是手动设置的跳转地址,那我们该如何调整到登录之前的地址呢?其实也很简单(但我尝试了好久)就是使用
登录示例代码:
参考资料:
Consider custom response params on authorize endpoint
https://github.com/IdentityModel/oidc-client-js/blob/dev/sample/public/user-manager-sample.js
Config.Client配置的
RedirectUris地址
http://localhost:5003/callback.html,用于获取 Token,比如跳转后的地址:
http://localhost:5003/callback.html#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjkwYWRmOTliMDhmODExMjBiMzdlMWI1NzVmMDliODcwIiwidHlwIjoiSldUIn0.eyJuYmYiOjE0OTQ2NjA3ODQsImV4cCI6MTQ5NDY2MTA4NCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjoiaDUiLCJub25jZSI6IjQ0OTYwZDQzYjgwNTQzOWJiYjI4NWFkZjJiYjFkNDA0IiwiaWF0IjoxNDk0NjYwNzg0LCJhdF9oYXNoIjoieE9Lb0V1VnlMNHdXUVhsbllaak5udyIsInNpZCI6ImMzYzZkZjhhOTBjYjA3NGJhMWE4YjZjMzgzM2E5OTEwIiwic3ViIjoiMiIsImF1dGhfdGltZSI6MTQ5NDY2MDc4MywiaWRwIjoibG9jYWwiLCJhbXIiOlsicHdkIl19.AUNbgEoIOdw7_4NB9Hju-npbqWtqbytLe9uPhXuCwJwAbTeSIvHM3hE9ksqUCUIZtR8zYKYrCzUmHvqoZWvOEautxY9sJToPyyFeuuf7eKe5pgaplNFu6M3J8QBN9XRuGhYhipc-Yd3pa1zNmKAPC3yQbo_x139cBWIWHMIOkGxgW7IOcdrNvEB0Dq29tXcrUiOZkeOYC9sP_lLAhWA6_TeVXaJdwQ0vZQRtF7JaQ-Zt2yiFDhu2r3walhtg6AnCMnDVovyz1Vl--j-lANYkuprI-Zyzak-Cps-tT6_JC9sm8OIqVg_aK2t71AWg4dYAfgzYl_3_-N46OiOg8I-p5g&access_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjkwYWRmOTliMDhmODExMjBiMzdlMWI1NzVmMDliODcwIiwidHlwIjoiSldUIn0.eyJuYmYiOjE0OTQ2NjA3ODQsImV4cCI6MTQ5NDY2MDc5NCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJhcGkxIl0sImNsaWVudF9pZCI6Img1Iiwic3ViIjoiMiIsImF1dGhfdGltZSI6MTQ5NDY2MDc4MywiaWRwIjoibG9jYWwiLCJuYW1lIjoiMTIzIiwibmljayI6Iuifi-ifgCIsIm1vYmlsZSI6IjE4NjU4MTMwMzI2Iiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsImFwaTEiXSwiYW1yIjpbInB3ZCJdfQ.lOw-ZLnYt5VejRmh2JnQfL6q2z8T9iLQELUJv4v3vvOkIn5wmUDmhLWkS6GQFXaKwybKCQwlh7OOtb08WZyE-ID7TJS1to7ZqxFR0Q8AGmvsaQxQ2pRTsLcHj11mxdbYhekTxfUldlYYYklupXOCJRe64ioMszpgrwDW1-oepsoUSws9X3yAvwf4rMigZ93-_FMzhfQHBoP2v3vu4x0mRrcas4sX1JIOasBGcTLAttO3HuNHAKrsDZfpxnzhyUZpdmpwGdZEz4pboUIhnh0338BM-WHBCWBzRGtT1CMiqECXhFtbRzNjASlG3jsRXwRSeq7_PvXZmShWHCnkgnYGnw&token_type=Bearer&expires_in=10&scope=openid%20profile%20api1&state=22bdd1faeb21414b8071c915e696fe7a&session_state=lXXBM8MVyOwEPMf_nuzDtafYVsHGmGAJTRfDpGgAmKg.deb0cdd03489a8d0782577e162ceb67f
前端会从 URL 中获取到 Token 信息,然后把用户信息和 Token 写入到上下文中,示例代码:
new Oidc.UserManager().signinRedirectCallback().then(function () { window.location = "/index.html"; }).catch(function (e) { console.error(e); });
可以看到,登录成功后,是手动设置的跳转地址,那我们该如何调整到登录之前的地址呢?其实也很简单(但我尝试了好久)就是使用
state传递地址。
登录示例代码:
function login() { mgr.signinRedirect({ state: window.location.href }); }
callback.html登录成功后,回调示例代码:
new Oidc.UserManager().signinRedirectCallback().then(function (user) { window.location = user.state; }).catch(function (e) { console.error(e); });
参考资料:
Consider custom response params on authorize endpoint
https://github.com/IdentityModel/oidc-client-js/blob/dev/sample/public/user-manager-sample.js
相关文章推荐
- IdentityServer4 退出登录后,跳转到原来页面
- android 调用人人网sdk登录页面 成功后不跳转 只停留在白色Oauth页面
- web 开发,个人中心每个请求,判断用户是否登录,若没有登录,则跳转到登录页面,登录成功后返回之前页面
- 用户登录成功自动跳转页面
- 普元 EOS Platform 7.6 sso集成业务应用实现单点登录,但登录跳转到成功页面时,经常出现闪屏问题,每秒10次以上
- 使用Shiro登录成功后,跳转到之前访问的页面实现
- android 调用人人网sdk登录页面 成功后不跳转 只停留在白色Oauth页面
- 登录成功后跳回到原来页面
- 用jsp实现登录,登录成功则跳转到登录成功页面,失败则跳转到失败页面
- shiro用authc配置后登录成功后不能跳转到index页面
- Extjs4中表单登录功能,实现登录成功跳转页面
- 登录成功,5秒后自动跳转到管理页面
- speedphp登录成功跳转到登录前的页面实现步骤
- servlet中实现提示登录成功后跳转到某一页面
- 用户登录成功自动跳转页面
- 我的shiro之旅: 十五 shiro 登录成功后,跳转到登录前的页面
- shiro用authc配置后登录成功后不能跳转到index页面
- 织梦 登录成功后跳转指定页面并刷新
- 登录成功跳转至登录前的页面
- 登录成功后跳回到原来页面