build: fix build and add examples
This commit is contained in:
47
src/adapters/react/index.ts
Normal file
47
src/adapters/react/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import type { InjectionToken, Injector, Type } from '@outposts/injection-js';
|
||||
import {
|
||||
type PropsWithChildren,
|
||||
createContext,
|
||||
createElement,
|
||||
useContext,
|
||||
useMemo,
|
||||
} from 'react';
|
||||
import { OidcSecurityService } from '../..';
|
||||
|
||||
export const InjectorContextVoidInjector: Injector = {
|
||||
get: <T>(_token: Type<T> | InjectionToken<T>, _notFoundValue?: T): T => {
|
||||
throw new Error('Please wrap with a InjectorContext.Provider first');
|
||||
},
|
||||
};
|
||||
|
||||
export const InjectorContext = createContext<Injector>(
|
||||
InjectorContextVoidInjector
|
||||
);
|
||||
|
||||
export function InjectorProvider({
|
||||
injector,
|
||||
...props
|
||||
}: PropsWithChildren<{ injector: Injector }>) {
|
||||
return createElement(InjectorContext, {
|
||||
...props,
|
||||
value: injector,
|
||||
});
|
||||
}
|
||||
|
||||
export function useInjector() {
|
||||
return useContext(InjectorContext);
|
||||
}
|
||||
|
||||
export function useOidcClient() {
|
||||
const injector = useInjector();
|
||||
|
||||
const oidcSecurityService = useMemo(
|
||||
() => injector.get(OidcSecurityService),
|
||||
[injector]
|
||||
);
|
||||
|
||||
return {
|
||||
injector,
|
||||
oidcSecurityService,
|
||||
};
|
||||
}
|
||||
45
src/adapters/tanstack-router/index.ts
Normal file
45
src/adapters/tanstack-router/index.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { InjectionToken, inject } from '@outposts/injection-js';
|
||||
import type {
|
||||
AnyRoute,
|
||||
Router,
|
||||
TrailingSlashOption,
|
||||
} from '@tanstack/react-router';
|
||||
import { AbstractRouter } from 'src/router';
|
||||
import type { AuthFeature } from '../../provide-auth';
|
||||
|
||||
export type TanStackRouter = Router<AnyRoute, TrailingSlashOption, boolean>;
|
||||
|
||||
export const TANSTACK_ROUTER = new InjectionToken<TanStackRouter>(
|
||||
'TANSTACK_ROUTER'
|
||||
);
|
||||
|
||||
export class TanStackRouterAdapter implements AbstractRouter<string> {
|
||||
private router = inject(TANSTACK_ROUTER);
|
||||
|
||||
navigateByUrl(url: string): void {
|
||||
this.router.navigate({
|
||||
href: url,
|
||||
});
|
||||
}
|
||||
|
||||
getCurrentNavigation() {
|
||||
return {
|
||||
extractedUrl: this.router.state.location.href,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export function withTanstackRouter(router: TanStackRouter): AuthFeature {
|
||||
return {
|
||||
ɵproviders: [
|
||||
{
|
||||
provide: TANSTACK_ROUTER,
|
||||
useValue: router,
|
||||
},
|
||||
{
|
||||
provide: AbstractRouter,
|
||||
useClass: TanStackRouterAdapter,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpHeaders } from '@ngify/http';
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { HttpParams } from '../http';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpClient, type HttpHeaders } from '@ngify/http';
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { HttpParams } from '../http';
|
||||
|
||||
@@ -13,7 +13,7 @@ export class HttpBaseService {
|
||||
): Observable<T> {
|
||||
return this.http.get<T>(url, {
|
||||
...options,
|
||||
params: options.params.toNgify(),
|
||||
params: options.params?.toNgify(),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ export class HttpBaseService {
|
||||
): Observable<T> {
|
||||
return this.http.post<T>(url, body, {
|
||||
...options,
|
||||
params: options.params.toNgify(),
|
||||
params: options.params?.toNgify(),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { InjectionToken, type Provider } from 'injection-js';
|
||||
import { InjectionToken, type Provider } from '@outposts/injection-js';
|
||||
import {
|
||||
type StsConfigLoader,
|
||||
StsConfigStaticLoader,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { BehaviorSubject, type Observable, throwError } from 'rxjs';
|
||||
import { distinctUntilChanged } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, forkJoin, of, throwError } from 'rxjs';
|
||||
import { catchError, map, switchMap, tap } from 'rxjs/operators';
|
||||
import { AutoLoginService } from '../auto-login/auto-login.service';
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
Injector,
|
||||
ReflectiveInjector,
|
||||
type Type,
|
||||
} from 'injection-js';
|
||||
} from '@outposts/injection-js';
|
||||
import type { PassedInitialConfig } from './auth-config';
|
||||
import type { Module } from './injection';
|
||||
import { _provideAuth } from './provide-auth';
|
||||
@@ -34,7 +34,7 @@ export class AuthModule extends Injector {
|
||||
}
|
||||
|
||||
get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;
|
||||
get(token: any, notFoundValue?: any);
|
||||
get(token: any, notFoundValue?: any): any;
|
||||
get(token: unknown, notFoundValue?: unknown): any {
|
||||
return this.injector.get(token, notFoundValue);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TestBed, mockRouterProvider } from '@/testing';
|
||||
import { type MockRouter, TestBed, mockRouterProvider } from '@/testing';
|
||||
import {
|
||||
AbstractRouter,
|
||||
type ActivatedRouteSnapshot,
|
||||
@@ -43,7 +43,7 @@ describe('AutoLoginPartialRoutesGuard', () => {
|
||||
let storagePersistenceService: StoragePersistenceService;
|
||||
let configurationService: ConfigurationService;
|
||||
let autoLoginService: AutoLoginService;
|
||||
let router: AbstractRouter;
|
||||
let router: MockRouter;
|
||||
|
||||
beforeEach(() => {
|
||||
authStateService = TestBed.inject(AuthStateService);
|
||||
@@ -293,11 +293,6 @@ describe('AutoLoginPartialRoutesGuard', () => {
|
||||
extractedUrl: router.parseUrl(
|
||||
'some-url12/with/some-param?queryParam=true'
|
||||
),
|
||||
extras: {},
|
||||
id: 1,
|
||||
initialUrl: router.parseUrl(''),
|
||||
previousNavigation: null,
|
||||
trigger: 'imperative',
|
||||
});
|
||||
|
||||
await firstValueFrom(guard.canLoad());
|
||||
@@ -342,7 +337,7 @@ describe('AutoLoginPartialRoutesGuard', () => {
|
||||
let storagePersistenceService: StoragePersistenceService;
|
||||
let configurationService: ConfigurationService;
|
||||
let autoLoginService: AutoLoginService;
|
||||
let router: AbstractRouter;
|
||||
let router: MockRouter;
|
||||
|
||||
beforeEach(() => {
|
||||
authStateService = TestBed.inject(AuthStateService);
|
||||
@@ -398,11 +393,6 @@ describe('AutoLoginPartialRoutesGuard', () => {
|
||||
extractedUrl: router.parseUrl(
|
||||
'some-url12/with/some-param?queryParam=true'
|
||||
),
|
||||
extras: {},
|
||||
id: 1,
|
||||
initialUrl: router.parseUrl(''),
|
||||
previousNavigation: null,
|
||||
trigger: 'imperative',
|
||||
});
|
||||
|
||||
vi.spyOn(authStateService, 'areAuthStorageTokensValid').mockReturnValue(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import type { AuthOptions } from '../auth-options';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { injectAbstractType } from '../injection';
|
||||
import { AbstractRouter } from '../router';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { tap } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, tap } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, tap } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, type Subscription, interval } from 'rxjs';
|
||||
import { DOCUMENT } from '../dom';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, ReplaySubject, forkJoin, of, throwError } from 'rxjs';
|
||||
import { catchError, map, share, switchMap } from 'rxjs/operators';
|
||||
import { AuthStateService } from '../auth-state/auth-state.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, finalize } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import {
|
||||
type Observable,
|
||||
TimeoutError,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { map, retry } from 'rxjs/operators';
|
||||
import { DataService } from '../../api/data.service';
|
||||
@@ -42,7 +42,7 @@ export class AuthWellKnownDataService {
|
||||
introspectionEndpoint: wellKnownEndpoints.introspection_endpoint,
|
||||
parEndpoint:
|
||||
wellKnownEndpoints.pushed_authorization_request_endpoint,
|
||||
} as AuthWellKnownEndpoints)
|
||||
}) as AuthWellKnownEndpoints
|
||||
),
|
||||
map((mappedWellKnownEndpoints) => ({
|
||||
...mappedWellKnownEndpoints,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, tap } from 'rxjs/operators';
|
||||
import { EventTypes } from '../../public-events/event-types';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, forkJoin, of } from 'rxjs';
|
||||
import { concatMap, map } from 'rxjs/operators';
|
||||
import { injectAbstractType } from '../injection/inject';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Provider } from 'injection-js';
|
||||
import type { Provider } from '@outposts/injection-js';
|
||||
import { type Observable, forkJoin, of } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TestBed, mockImplementationWhenArgsEqual } from '@/testing';
|
||||
import { TestBed } from '@/testing';
|
||||
import { mockImplementationWhenArgs, spyOnWithOrigin } from '@/testing/spy';
|
||||
import { vi } from 'vitest';
|
||||
import { LogLevel } from '../../logging/log-level';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { LoggerService } from '../../logging/logger.service';
|
||||
import type { OpenIdConfiguration } from '../openid-configuration';
|
||||
import type { Level, RuleValidationResult } from './rule';
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
import { InjectionToken } from "injection-js";
|
||||
import { InjectionToken } from '@outposts/injection-js';
|
||||
|
||||
export const DOCUMENT = new InjectionToken<Document>('document');
|
||||
export const DOCUMENT = new InjectionToken<Document>('document');
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
|
||||
@Injectable()
|
||||
export class JwkExtractor {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpHeaders } from '@ngify/http';
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError, timer } from 'rxjs';
|
||||
import { catchError, mergeMap, retryWhen, switchMap } from 'rxjs/operators';
|
||||
import { DataService } from '../../api/data.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { catchError, switchMap, tap } from 'rxjs/operators';
|
||||
import { AuthStateService } from '../../auth-state/auth-state.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of } from 'rxjs';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { AuthStateService } from '../../auth-state/auth-state.service';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpHeaders } from '@ngify/http';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError, timer } from 'rxjs';
|
||||
import { catchError, mergeMap, retryWhen, switchMap } from 'rxjs/operators';
|
||||
import { DataService } from '../../api/data.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { AuthStateService } from '../../auth-state/auth-state.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { catchError, switchMap } from 'rxjs/operators';
|
||||
import { AuthStateService } from '../../auth-state/auth-state.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { LoggerService } from '../logging/logger.service';
|
||||
import { StoragePersistenceService } from '../storage/storage-persistence.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import { concatMap } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
import { LoggerService } from '../../logging/logger.service';
|
||||
import { CryptoService } from '../../utils/crypto/crypto.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { AuthStateService } from '../auth-state/auth-state.service';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { LoggerService } from '../logging/logger.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpResponse } from '@ngify/http';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, retry } from 'rxjs/operators';
|
||||
import { DataService } from '../api/data.service';
|
||||
|
||||
@@ -8,9 +8,13 @@ import {
|
||||
withInterceptors,
|
||||
withLegacyInterceptors,
|
||||
} from '@ngify/http';
|
||||
import { InjectionToken, Optional, type Provider } from 'injection-js';
|
||||
import {
|
||||
InjectionToken,
|
||||
Optional,
|
||||
type Provider,
|
||||
} from '@outposts/injection-js';
|
||||
import type { ArrayOrNullableOne } from '../utils/types';
|
||||
export { HttpParams, HttpParamsOptions } from './params';
|
||||
export { HttpParams, type HttpParamsOptions } from './params';
|
||||
|
||||
export const HTTP_FEATURES = new InjectionToken<HttpFeature[]>('HTTP_FEATURES');
|
||||
|
||||
|
||||
@@ -88,6 +88,7 @@ function paramParser(
|
||||
// The `window.location.search` can be used while creating an instance of the `HttpParams` class
|
||||
// (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`
|
||||
// may start with the `?` char, so we strip it if it's present.
|
||||
// biome-ignore lint/performance/useTopLevelRegex: <explanation>
|
||||
const params: string[] = rawParams.replace(/^\?/, '').split('&');
|
||||
params.forEach((param: string) => {
|
||||
const eqIdx = param.indexOf('=');
|
||||
@@ -304,7 +305,7 @@ export class HttpParams {
|
||||
toNgify(): NgifyHttpParams {
|
||||
this.init();
|
||||
return new NgifyHttpParams().appendAll(
|
||||
Object.fromEntries(this.map.entries())
|
||||
Object.fromEntries(this.map!.entries())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { BehaviorSubject, Observable, of } from 'rxjs';
|
||||
import { take } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { DOCUMENT } from '../dom';
|
||||
import { LoggerService } from '../logging/logger.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import {
|
||||
Observable,
|
||||
ReplaySubject,
|
||||
@@ -82,14 +82,14 @@ export class RefreshSessionIframeService {
|
||||
): void {
|
||||
const instanceId = Math.random();
|
||||
|
||||
const oidcSilentRenewInit$ = fromEventPattern(
|
||||
const oidcSilentRenewInit$ = fromEventPattern<CustomEvent>(
|
||||
(handler) =>
|
||||
this.document.defaultView.window.addEventListener(
|
||||
this.document.defaultView?.window?.addEventListener(
|
||||
'oidc-silent-renew-init',
|
||||
handler
|
||||
),
|
||||
(handler) =>
|
||||
this.document.defaultView.window.removeEventListener(
|
||||
this.document.defaultView?.window?.removeEventListener(
|
||||
'oidc-silent-renew-init',
|
||||
handler
|
||||
)
|
||||
@@ -104,12 +104,12 @@ export class RefreshSessionIframeService {
|
||||
}
|
||||
this.silentRenewEventHandlerSubscription = fromEventPattern<CustomEvent>(
|
||||
(handler) =>
|
||||
this.document.defaultView.window.addEventListener(
|
||||
this.document.defaultView?.window?.addEventListener(
|
||||
'oidc-silent-renew-message',
|
||||
handler
|
||||
),
|
||||
(handler) =>
|
||||
this.document.defaultView.window.removeEventListener(
|
||||
this.document.defaultView?.window?.removeEventListener(
|
||||
'oidc-silent-renew-message',
|
||||
handler
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, Subject, of, throwError } from 'rxjs';
|
||||
import { catchError, map } from 'rxjs/operators';
|
||||
import { AuthStateService } from '../auth-state/auth-state.service';
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import { InjectionToken } from 'injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
|
||||
export const APP_INITIALIZER = new InjectionToken<
|
||||
// biome-ignore lint/suspicious/noConfusingVoidType: <explanation>
|
||||
readonly (() => void | Observable<unknown> | Promise<unknown>)[]
|
||||
>('APP_INITIALIZER');
|
||||
@@ -1,3 +1,2 @@
|
||||
export type { Module } from './module';
|
||||
export { APP_INITIALIZER } from './convention';
|
||||
export { injectAbstractType } from './inject';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { inject } from 'injection-js';
|
||||
import { inject } from '@outposts/injection-js';
|
||||
|
||||
// biome-ignore lint/complexity/noBannedTypes: <explanation>
|
||||
export interface AbstractType<T> extends Function {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
import type { Injector } from 'injection-js';
|
||||
import type { Injector } from '@outposts/injection-js';
|
||||
|
||||
export type Module = (parentInjector: Injector) => Injector;
|
||||
|
||||
@@ -6,7 +6,7 @@ import type {
|
||||
HttpInterceptorFn,
|
||||
HttpRequest,
|
||||
} from '@ngify/http';
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { Observable } from 'rxjs';
|
||||
import { AuthStateService } from '../auth-state/auth-state.service';
|
||||
import { ConfigurationService } from '../config/config.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
|
||||
/**
|
||||
* Implement this class-interface to create a custom logger service.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { AbstractLoggerService } from './abstract-logger.service';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { injectAbstractType } from '../injection/inject';
|
||||
import { AbstractLoggerService } from './abstract-logger.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import type { AuthOptions } from '../auth-options';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { map, switchMap, take } from 'rxjs/operators';
|
||||
import type { AuthOptions } from '../../auth-options';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpHeaders } from '@ngify/http';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, throwError } from 'rxjs';
|
||||
import { catchError, map, retry, switchMap } from 'rxjs/operators';
|
||||
import { DataService } from '../../api/data.service';
|
||||
@@ -74,7 +74,8 @@ export class ParService {
|
||||
};
|
||||
}),
|
||||
catchError((error) => {
|
||||
const errorMessage = 'There was an error on ParService postParRequest';
|
||||
const errorMessage =
|
||||
'There was an error on ParService postParRequest';
|
||||
|
||||
this.loggerService.logError(configuration, errorMessage, error);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { switchMap, take, tap } from 'rxjs/operators';
|
||||
import type { AuthOptions } from '../../auth-options';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, Subject } from 'rxjs';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { LoggerService } from '../../logging/logger.service';
|
||||
import { StoragePersistenceService } from '../../storage/storage-persistence.service';
|
||||
import type { PopupOptions } from './popup-options';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
import { LoggerService } from '../../logging/logger.service';
|
||||
import { FlowHelper } from '../../utils/flowHelper/flow-helper.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, map, of, switchMap } from 'rxjs';
|
||||
import type { AuthOptions } from '../../auth-options';
|
||||
import { AuthWellKnownService } from '../../config/auth-well-known/auth-well-known.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpHeaders } from '@ngify/http';
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of, throwError } from 'rxjs';
|
||||
import { catchError, concatMap, retry, switchMap } from 'rxjs/operators';
|
||||
import { DataService } from '../api/data.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { BehaviorSubject, type Observable } from 'rxjs';
|
||||
import { concatMap, map, switchMap } from 'rxjs/operators';
|
||||
import type { AuthOptions, LogoutAuthOptions } from './auth-options';
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import { TestBed } from '@/testing';
|
||||
import { mockClass, mockProvider } from '@/testing/mock';
|
||||
import { APP_INITIALIZER } from 'oidc-client-rx';
|
||||
import { mockProvider } from '@/testing/mock';
|
||||
import { of } from 'rxjs';
|
||||
import { vi } from 'vitest';
|
||||
import { PASSED_CONFIG } from './auth-config';
|
||||
import { ConfigurationService } from './config/config.service';
|
||||
import {
|
||||
@@ -10,8 +8,7 @@ import {
|
||||
StsConfigLoader,
|
||||
StsConfigStaticLoader,
|
||||
} from './config/loader/config-loader';
|
||||
import { OidcSecurityService } from './oidc.security.service';
|
||||
import { provideAuth, withAppInitializerAuthCheck } from './provide-auth';
|
||||
import { provideAuth } from './provide-auth';
|
||||
|
||||
describe('provideAuth', () => {
|
||||
describe('APP_CONFIG', () => {
|
||||
@@ -59,37 +56,37 @@ describe('provideAuth', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('features', () => {
|
||||
let oidcSecurityServiceMock: OidcSecurityService;
|
||||
let spy: any;
|
||||
// describe('features', () => {
|
||||
// let oidcSecurityServiceMock: OidcSecurityService;
|
||||
// let spy: any;
|
||||
|
||||
beforeEach(async () => {
|
||||
//@ts-ignore
|
||||
// beforeEach(async () => {
|
||||
// //@ts-ignore
|
||||
|
||||
oidcSecurityServiceMock = new (mockClass(OidcSecurityService))();
|
||||
spy = vi.spyOn(oidcSecurityServiceMock, 'checkAuthMultiple');
|
||||
await TestBed.configureTestingModule({
|
||||
providers: [
|
||||
provideAuth(
|
||||
{ config: { authority: 'something' } },
|
||||
withAppInitializerAuthCheck()
|
||||
),
|
||||
mockProvider(ConfigurationService),
|
||||
{
|
||||
provide: OidcSecurityService,
|
||||
useValue: oidcSecurityServiceMock,
|
||||
},
|
||||
],
|
||||
}).compileComponents();
|
||||
});
|
||||
// oidcSecurityServiceMock = new (mockClass(OidcSecurityService))();
|
||||
// spy = vi.spyOn(oidcSecurityServiceMock, 'checkAuthMultiple');
|
||||
// await TestBed.configureTestingModule({
|
||||
// providers: [
|
||||
// provideAuth(
|
||||
// { config: { authority: 'something' } },
|
||||
// withAppInitializerAuthCheck()
|
||||
// ),
|
||||
// mockProvider(ConfigurationService),
|
||||
// {
|
||||
// provide: OidcSecurityService,
|
||||
// useValue: oidcSecurityServiceMock,
|
||||
// },
|
||||
// ],
|
||||
// }).compileComponents();
|
||||
// });
|
||||
|
||||
it('should provide APP_INITIALIZER config', () => {
|
||||
const config = TestBed.inject(APP_INITIALIZER);
|
||||
expect(
|
||||
config.length,
|
||||
'Expected an APP_INITIALIZER to be registered'
|
||||
).toBe(1);
|
||||
expect(spy).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
// it('should provide APP_INITIALIZER config', () => {
|
||||
// const config = TestBed.inject(APP_INITIALIZER);
|
||||
// expect(
|
||||
// config.length,
|
||||
// 'Expected an APP_INITIALIZER to be registered'
|
||||
// ).toBe(1);
|
||||
// expect(spy).toHaveBeenCalledTimes(1);
|
||||
// });
|
||||
// });
|
||||
});
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
import type { Provider } from 'injection-js';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import type { Provider } from '@outposts/injection-js';
|
||||
import {
|
||||
PASSED_CONFIG,
|
||||
type PassedInitialConfig,
|
||||
createStaticLoader,
|
||||
} from './auth-config';
|
||||
import { StsConfigLoader } from './config/loader/config-loader';
|
||||
import { APP_INITIALIZER } from './injection';
|
||||
import { AbstractLoggerService } from './logging/abstract-logger.service';
|
||||
import { ConsoleLoggerService } from './logging/console-logger.service';
|
||||
import { OidcSecurityService } from './oidc.security.service';
|
||||
import { AbstractSecurityStorage } from './storage/abstract-security-storage';
|
||||
import { DefaultSessionStorageService } from './storage/default-sessionstorage.service';
|
||||
|
||||
@@ -51,26 +48,3 @@ export function _provideAuth(passedConfig: PassedInitialConfig): Provider[] {
|
||||
{ provide: AbstractLoggerService, useClass: ConsoleLoggerService },
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures an app initializer, which is called before the app starts, and
|
||||
* resolves any OAuth callback variables.
|
||||
* When used, it replaces the need to manually call
|
||||
* `OidcSecurityService.checkAuth(...)` or
|
||||
* `OidcSecurityService.checkAuthMultiple(...)`.
|
||||
*
|
||||
* @see https://angular.dev/api/core/APP_INITIALIZER
|
||||
*/
|
||||
export function withAppInitializerAuthCheck(): AuthFeature {
|
||||
return {
|
||||
ɵproviders: [
|
||||
{
|
||||
provide: APP_INITIALIZER,
|
||||
useFactory: (oidcSecurityService: OidcSecurityService) =>
|
||||
oidcSecurityService.checkAuthMultiple(),
|
||||
multi: true,
|
||||
deps: [OidcSecurityService],
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
/*
|
||||
* Public API Surface of oidc-client-rx
|
||||
*/
|
||||
|
||||
export * from '.';
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import { type Observable, ReplaySubject } from 'rxjs';
|
||||
import type { EventTypes } from './event-types';
|
||||
import type { OidcClientNotification } from './notification';
|
||||
|
||||
@@ -14,24 +14,15 @@ export interface UrlTree {
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
export interface NavigationExtras {
|
||||
[key: string]: any;
|
||||
export interface Navigation<URL extends UrlTree = UrlTree> {
|
||||
extractedUrl: URL;
|
||||
}
|
||||
|
||||
export interface Navigation {
|
||||
id: number;
|
||||
initialUrl: UrlTree;
|
||||
extractedUrl: UrlTree;
|
||||
finalUrl?: UrlTree | undefined;
|
||||
trigger: 'imperative' | 'popstate' | 'hashchange';
|
||||
previousNavigation: Navigation | null;
|
||||
extras?: NavigationExtras;
|
||||
}
|
||||
|
||||
export abstract class AbstractRouter {
|
||||
export abstract class AbstractRouter<
|
||||
URL extends UrlTree = UrlTree,
|
||||
NAVIGATION extends Navigation<URL> = Navigation<URL>,
|
||||
> {
|
||||
abstract navigateByUrl(url: string): void;
|
||||
|
||||
abstract getCurrentNavigation(): Navigation;
|
||||
|
||||
abstract parseUrl(_url: string): any;
|
||||
abstract getCurrentNavigation(): NAVIGATION;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
|
||||
/**
|
||||
* Implement this class-interface to create a custom storage.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import { injectAbstractType } from '../injection';
|
||||
import { LoggerService } from '../logging/logger.service';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { AbstractSecurityStorage } from './abstract-security-storage';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { AbstractSecurityStorage } from './abstract-security-storage';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { inject } from 'injection-js';
|
||||
import { inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
import type { AuthResult } from '../flows/callback-context';
|
||||
import { BrowserStorageService } from './browser-storage.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpClientTestingBackend } from '@ngify/http/testing';
|
||||
import { InjectionToken, type Provider } from 'injection-js';
|
||||
import { InjectionToken, type Provider } from '@outposts/injection-js';
|
||||
import { HTTP_BACKEND, provideHttpClient } from 'oidc-client-rx';
|
||||
|
||||
export const HTTP_CLIENT_TEST_CONTROLLER =
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Provider } from 'injection-js';
|
||||
import type { Provider } from '@outposts/injection-js';
|
||||
|
||||
export function mockClass<T>(
|
||||
obj: new (...args: any[]) => T
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Provider } from 'injection-js';
|
||||
import type { Provider } from '@outposts/injection-js';
|
||||
import { JSDOM } from 'jsdom';
|
||||
import { AbstractRouter, type Navigation, type UrlTree } from 'oidc-client-rx';
|
||||
|
||||
@@ -8,26 +8,15 @@ export class MockRouter extends AbstractRouter {
|
||||
});
|
||||
|
||||
navigation: Navigation = {
|
||||
id: 1,
|
||||
extras: {},
|
||||
initialUrl: this.parseUrl(this.dom.window.location.href),
|
||||
extractedUrl: this.parseUrl(this.dom.window.location.href),
|
||||
trigger: 'imperative',
|
||||
previousNavigation: null,
|
||||
};
|
||||
|
||||
navigateByUrl(url: string): void {
|
||||
const prevNavigation = this.navigation;
|
||||
this.dom.reconfigure({
|
||||
url: new URL(url, this.dom.window.location.href).href,
|
||||
});
|
||||
this.navigation = {
|
||||
id: prevNavigation.id + 1,
|
||||
extras: {},
|
||||
initialUrl: prevNavigation.initialUrl,
|
||||
extractedUrl: this.parseUrl(this.dom.window.location.href),
|
||||
trigger: prevNavigation.trigger,
|
||||
previousNavigation: prevNavigation,
|
||||
};
|
||||
}
|
||||
getCurrentNavigation(): Navigation {
|
||||
|
||||
@@ -4,8 +4,8 @@ import {
|
||||
type Provider,
|
||||
ReflectiveInjector,
|
||||
type Type,
|
||||
} from 'injection-js';
|
||||
import { setCurrentInjector } from 'injection-js/lib/injector_compatibility';
|
||||
runInInjectionContext,
|
||||
} from '@outposts/injection-js';
|
||||
|
||||
export interface TestModuleMetadata {
|
||||
providers?: Provider[];
|
||||
@@ -45,9 +45,6 @@ export class TestBed {
|
||||
return newTestBed;
|
||||
}
|
||||
|
||||
/**
|
||||
* 在 TestBed 的注入上下文中运行函数
|
||||
*/
|
||||
static runInInjectionContext<T>(fn: () => T): T {
|
||||
const injector = TestBed.#instance?.injector;
|
||||
if (!injector) {
|
||||
@@ -56,16 +53,7 @@ export class TestBed {
|
||||
);
|
||||
}
|
||||
|
||||
// 保存当前的注入器
|
||||
const previousInjector = setCurrentInjector(injector);
|
||||
|
||||
try {
|
||||
// 在注入上下文中执行函数
|
||||
return fn();
|
||||
} finally {
|
||||
// 恢复之前的注入器
|
||||
setCurrentInjector(previousInjector);
|
||||
}
|
||||
return runInInjectionContext(injector, fn);
|
||||
}
|
||||
|
||||
compileComponents(): Promise<any> {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { BehaviorSubject, type Observable, of, throwError } from 'rxjs';
|
||||
import { map, retry, switchMap } from 'rxjs/operators';
|
||||
import { DataService } from '../api/data.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
|
||||
@Injectable()
|
||||
export class CryptoService {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
|
||||
@Injectable()
|
||||
export class EqualityService {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable } from 'injection-js';
|
||||
import { Injectable } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, InjectionToken, inject } from 'injection-js';
|
||||
import { Injectable, InjectionToken, inject } from '@outposts/injection-js';
|
||||
|
||||
export type PlatformId = 'browser' | 'server';
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
|
||||
@Injectable()
|
||||
export class RedirectService {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import type { OpenIdConfiguration } from '../../config/openid-configuration';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { LoggerService } from '../../logging/logger.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { DOCUMENT } from '../../dom';
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
|
||||
@Injectable()
|
||||
export class CurrentUrlService {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import type { AuthOptions } from '../../auth-options';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { inject, Injectable } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { CryptoService } from '../utils/crypto/crypto.service';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { BehaviorSubject, type Observable, from } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { CryptoService } from '../utils/crypto/crypto.service';
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import { TestBed } from '@/testing';
|
||||
import {
|
||||
mockImplementationWhenArgs,
|
||||
mockImplementationWhenArgsEqual,
|
||||
} from '@/testing/spy';
|
||||
import { mockImplementationWhenArgsEqual } from '@/testing/spy';
|
||||
import { firstValueFrom, of } from 'rxjs';
|
||||
import { vi } from 'vitest';
|
||||
import type { AuthWellKnownEndpoints } from '../config/auth-well-known/auth-well-known-endpoints';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { type Observable, of } from 'rxjs';
|
||||
import { map, mergeMap } from 'rxjs/operators';
|
||||
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Injectable, inject } from 'injection-js';
|
||||
import { Injectable, inject } from '@outposts/injection-js';
|
||||
import { base64url } from 'rfc4648';
|
||||
import { type Observable, from, of } from 'rxjs';
|
||||
import { map, mergeMap, tap } from 'rxjs/operators';
|
||||
@@ -390,7 +390,6 @@ export class TokenValidationService {
|
||||
localState: any,
|
||||
configuration: OpenIdConfiguration
|
||||
): boolean {
|
||||
console.error(state, localState, `${state}`, `${localState}`);
|
||||
if (`${state}` !== `${localState}`) {
|
||||
this.loggerService.logDebug(
|
||||
configuration,
|
||||
|
||||
Reference in New Issue
Block a user