- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Angular 8.0.3、keycloak 8.0.0 和 keycloak-service 7.0.1
问题
我设法从我的 Angular 应用程序配置身份验证。因此,每次我在没有授权 header 的情况下继续我的应用程序时,我都会被重定向到 keycloak 登录页面。
如果我希望未登录的人访问公共(public)页面(例如'/public/cities')而不重定向到 keycloak 登录页面,我应该使用'bearerExcludedUrIs'吗?如果是这样,我应该穿什么?如果没有,如何进行?
从更一般的 Angular 来看,提供的服务中的keycloak初始化函数有一个initOption部分。我并不完全理解其所有属性的含义(onLoad、token、refreshToken、idToken、timeSkew、seckLoginIframe、checkLoginIframeInterval、responseMode、flow)。如果愿意与我分享他的知识的开悟者能够开导我,我将不胜感激......
我的代码
我正在使用 ngDoBootstrap 引导库并配置 keycloak-angular。在此示例中,我尝试使用正则表达式/.*/允许所有 url(但没有任何变化)。
const keycloakService = new KeycloakService();
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
LoginComponent
],
imports: [
KeycloakAngularModule,
BrowserModule,
AppRoutingModule,
CoreModule,
SharedModule,
PagesModule
],
providers: [
{
provide: KeycloakService,
useValue: keycloakService,
}
],
entryComponents: [AppComponent]
})
export class AppModule implements DoBootstrap {
async ngDoBootstrap(app) {
const { keycloakConfig } = environment;
try {
keycloakService.init({
config: keycloakConfig,
initOptions: {
onLoad: 'login-required',
checkLoginIframe: false
},
enableBearerInterceptor: true,
bearerExcludedUrls: ['.*']
}).then(() => {
app.bootstrap(AppComponent);
});
} catch (error) {
console.error('Keycloak init failed', error);
}
}
}
最佳答案
我已经与 keycloak 斗争了两个星期,我相信我遇到了类似的问题。我尝试的是评论 keycloak 初始化选项“onLoad:'login-required'”。
之后,我只需要在尝试输入受 AuthGuard 保护的 url 时登录。对我来说,如果没有注释掉“需要登录”,“bearerExcludedUrls”就不起作用。
关于angular - Andersstand 如何初始化 keycloak-angular 服务? (bearerExcludedUrls 等...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59115887/
我正在使用 Angular 8.0.3、keycloak 8.0.0 和 keycloak-service 7.0.1 问题 我设法从我的 Angular 应用程序配置身份验证。因此,每次我在没有授权
我是一名优秀的程序员,十分优秀!