Keycloak Angular 已弃用 KeycloakService 的使用。现在推荐的初始化Keycloak的方法是在ApplicationConfig的providers数组中使用provideKeycloak()。我有一个服务从服务器加载我的 Keycloak 配置设置(url、realm、client-id)。如何在 ProvideKeycloak() 中使用这些设置?我注意到在 ProvideKeycloak() 配置对象中有一个“providers”属性,但我不知道如何在这种情况下使用它。
您可以进行 API 调用,获取数据,然后使用
bootstrapApplication
进行初始化。
export function initializeApp(): Promise<any> {
// fetch("https://someUrl.com/api/user") // <- place your API here!
return firstValueFrom(
of({
config: {
url: 'keycloak-server-url',
realm: 'realm-id',
clientId: 'client-id'
},
initOptions: {
onLoad: 'check-sso',
silentCheckSsoRedirectUri: window.location.origin + '/silent-check-sso.html'
}
}) // simulate api call
);
}
initializeApp().then((config: any) => {
bootstrapApplication(App, {
providers: [
provideHttpClient(),
provideKeycloak(config),
],
});
});