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, которые у меня есть, или что-то, что я пропустил? любая помощь будет очень благодарна.

0 ответов

Другие вопросы по тегам