Identity Server: Redirect after login and logout in Angular?(身份服务器:在ANGLE中登录和注销后重定向?)
问题描述
我在一个基于.NET Core的角度项目中使用了IdentityServer,并通过修改使用了Identity Server razor登录页面。除了这个登录页面,我使用角度页面,并使用角度中的延迟加载功能重定向相关页面。
但是,我需要一些不同的登录和注销场景,如下所述:
1.用户登录后,我希望重定向特定页面。我如何设置此页面?在标识服务器操作方法中,还是在登录按钮的onClick操作中?我也可以通过hperlink使用HREF?
2.我是否应该使用ActionLink
等,因为登录页面是通过将页面重定向到控制器,然后打开一个角度页面来实现的?还是使用登录按钮的href或routerlink属性并轻松调用相关的角度路线更好?
3.对于注销,我希望重定向一个有角度的页面。我应该在标识服务器配置的注销或注销回调属性中设置它吗?
如有任何帮助,我们将不胜感激。
更新:以下是可用于重定向或回调设置的常量文件:
export const LogoutActions = {
LogoutCallback: 'logout-callback',
Logout: 'logout',
LoggedOut: 'logged-out'
};
export const LoginActions = {
Login: 'login',
LoginCallback: 'login-callback',
LoginFailed: 'login-failed',
Profile: 'profile',
Register: 'register'
};
let applicationPaths: ApplicationPathsType = {
DefaultLoginRedirectPath: '/',
ApiAuthorizationClientConfigurationUrl: `/_configuration/${ApplicationName}`,
Login: `authentication/${LoginActions.Login}`,
LoginFailed: `authentication/${LoginActions.LoginFailed}`,
LoginCallback: `authentication/${LoginActions.LoginCallback}`,
Register: `authentication/${LoginActions.Register}`,
Profile: `authentication/${LoginActions.Profile}`,
LogOut: `authentication/${LogoutActions.Logout}`,
LoggedOut: `authentication/${LogoutActions.LoggedOut}`,
LogOutCallback: `authentication/${LogoutActions.LogoutCallback}`,
LoginPathComponents: [],
LoginFailedPathComponents: [],
LoginCallbackPathComponents: [],
RegisterPathComponents: [],
ProfilePathComponents: [],
LogOutPathComponents: [],
LoggedOutPathComponents: [],
LogOutCallbackPathComponents: [],
IdentityRegisterPath: '/Identity/Account/Register',
IdentityManagePath: '/Identity/Account/Manage'
};
applicationPaths = {
...applicationPaths,
LoginPathComponents: applicationPaths.Login.split('/'),
LoginFailedPathComponents: applicationPaths.LoginFailed.split('/'),
RegisterPathComponents: applicationPaths.Register.split('/'),
ProfilePathComponents: applicationPaths.Profile.split('/'),
LogOutPathComponents: applicationPaths.LogOut.split('/'),
LoggedOutPathComponents: applicationPaths.LoggedOut.split('/'),
LogOutCallbackPathComponents: applicationPaths.LogOutCallback.split('/')
};
身份
您要做的是将您的推荐答案客户端配置设置为通过<[2-1]和PostLogoutRedirectUris
指向这些不同的组件。然后在ANGLE应用程序中,当您配置UserManager
实例时,将redirect_uri
和post_logout_redirect_uri
设置为您希望Identity Server在登录/注销方法完成后重定向到的位置。这些配置需要在客户端和服务器之间匹配,否则身份服务器将拒绝该请求。布罗克·艾伦的一个样例应用程序Angular oidc-client.js揭示了这一点。
return Redirect("someurl oangularcomponent");
将用户重定向到该组件。
这篇关于身份服务器:在ANGLE中登录和注销后重定向?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:身份服务器:在ANGLE中登录和注销后重定向?
基础教程推荐
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 动态更新多个选择框 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01