我正在尝试仅为某些路线添加 keycloack 登录,其他路线将是公开的。用户可以看到路线(页面)。
默认情况下,我正在尝试加载公共页面,当用户尝试提交详细信息时,我必须要求他登录
try {
await keycloak.init({
config: {
url: 'http://localhost:8080/auth',
realm: 'your-realm',
clientId: 'client-id'
},
initOptions: {
onLoad: 'login-required',
checkLoginIframe: false
},
bearerExcludedUrls: [
'/assets',
'/clients/public'
],
});
resolve();
} catch (error) {}
但仍然重定向到 keycloack 登录。
https://www.npmjs.com/package/keycloak-angular 我已按照上述链接的文档进行操作。
尝试注释 keycloak 初始化选项“onLoad: 'login-required'”。如果 keycloak 在应用程序启动时启动,那么当您在浏览器中打开应用程序时,您必须登录。注释掉onLoad后,只有输入url才需要登录,这个在AuthGuard后面
您需要的是一个Route Guard。