Angular 8 - angular-auth-oidc-client '[WDS] отключен!' проблема при реализации хранилища файлов cookie
Я использую angular-auth-oidc-client
для реализации аутентификации для веб-приложения с помощью Angular 8
, Он отлично работает при хранении пользовательских данных в localStorage
или sessionStorage
но при использовании реализации хранилища файлов cookie такие ошибки, как client:172 [WDS] Disconnected!
Старт отображается в консоли, и приложение перестает работать, сообщает, что я удаляю сохраненные файлы cookie вручную.
В качестве документации о том, как добавить здесь пользовательское хранилище Custom Storage,
Реализация хранилища файлов cookie, которую я сделал:
import { Injectable, Inject } from '@angular/core';
import { OidcSecurityStorage } from 'angular-auth-oidc-client';
import { CookieService } from 'ngx-cookie-service';
import { OidcConfiguration } from '../config/oidc.config';
@Injectable({
providedIn: 'root'
})
export class CookiesStorageService implements OidcSecurityStorage {
constructor(private cookieService: CookieService, @Inject('OidcConfig') private oidcConfig: OidcConfiguration) {
}
public read(key: string): any {
let val = this.cookieService.get(key + '_' + this.oidcConfig.openIdConfiguration.client_id);
if (val && val != '') {
return JSON.parse(val);
}
return;
}
public write(key: string, value: any): void {
if (value && value != '') {
value = value === undefined ? null : value;
this.cookieService.set(
key + '_' + this.oidcConfig.openIdConfiguration.client_id,
JSON.stringify(value));
}
}
}
Значение для
this.oidcConfig.openIdConfiguration.client_id
"OPApiClient", к которому нужно добавить clientId в качестве постфикса имени ключа.
в AppModule
Я регистрирую это настраиваемое хранилище, как показано:
import { NgModule, Inject } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AuthModule, OidcSecurityService } from 'angular-auth-oidc-client';
...
@NgModule({
declarations: [...],
imports: [
CommonModule,
AuthModule.forRoot({ storage: CookiesStorageService }),
...
],
providers: [...]
})
Есть ли ошибка в хранилище файлов cookie, которые у меня есть, или что-то, что я пропустил? любая помощь будет очень благодарна.