@odx/auth 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/esm2020/index.mjs +10 -0
- package/esm2020/lib/auth.component.mjs +50 -0
- package/esm2020/lib/auth.config.mjs +8 -0
- package/esm2020/lib/auth.interceptor.mjs +25 -0
- package/esm2020/lib/auth.module.mjs +28 -0
- package/esm2020/lib/auth.providers.mjs +50 -0
- package/esm2020/lib/auth.service.mjs +37 -0
- package/esm2020/lib/directives/index.mjs +3 -0
- package/esm2020/lib/directives/sign-in.directive.mjs +38 -0
- package/esm2020/lib/directives/sign-out.directive.mjs +38 -0
- package/esm2020/lib/helpers/get-user-initials.mjs +12 -0
- package/esm2020/lib/helpers/index.mjs +3 -0
- package/esm2020/lib/helpers/resolve-issuer.mjs +13 -0
- package/esm2020/lib/models/auth-environment.mjs +2 -0
- package/esm2020/lib/models/index.mjs +3 -0
- package/esm2020/lib/models/user.mjs +2 -0
- package/esm2020/odx-auth.mjs +5 -0
- package/fesm2015/odx-auth.mjs +283 -0
- package/fesm2015/odx-auth.mjs.map +1 -0
- package/fesm2020/odx-auth.mjs +273 -0
- package/fesm2020/odx-auth.mjs.map +1 -0
- package/index.d.ts +9 -0
- package/lib/auth.component.d.ts +12 -0
- package/lib/auth.config.d.ts +12 -0
- package/lib/auth.interceptor.d.ts +11 -0
- package/lib/auth.module.d.ts +14 -0
- package/lib/auth.providers.d.ts +6 -0
- package/lib/auth.service.d.ts +19 -0
- package/lib/directives/index.d.ts +2 -0
- package/lib/directives/sign-in.directive.d.ts +12 -0
- package/lib/directives/sign-out.directive.d.ts +12 -0
- package/lib/helpers/get-user-initials.d.ts +2 -0
- package/lib/helpers/index.d.ts +2 -0
- package/lib/helpers/resolve-issuer.d.ts +2 -0
- package/lib/models/auth-environment.d.ts +1 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/user.d.ts +4 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odx-auth.mjs","sources":["../../../../libs/auth/src/lib/auth.config.ts","../../../../libs/auth/src/lib/auth.service.ts","../../../../libs/auth/src/lib/directives/sign-in.directive.ts","../../../../libs/auth/src/lib/directives/sign-out.directive.ts","../../../../libs/auth/src/lib/helpers/get-user-initials.ts","../../../../libs/auth/src/lib/helpers/resolve-issuer.ts","../../../../libs/auth/src/lib/auth.component.ts","../../../../libs/auth/src/lib/auth.component.html","../../../../libs/auth/src/lib/auth.interceptor.ts","../../../../libs/auth/src/lib/auth.providers.ts","../../../../libs/auth/src/lib/auth.module.ts","../../../../libs/auth/src/odx-auth.ts"],"sourcesContent":["import { createModuleConfigTokens } from '@odx/angular/utils';\n\nimport { OktaAuthOptions } from '@okta/okta-auth-js';\nimport { AuthEnvironment } from './models';\n\nexport const DEFAULT_AUTH_SCOPES = ['openid', 'profile'];\n\nexport interface AuthModuleConfig extends Pick<OktaAuthOptions, 'clientId' | 'scopes'> {\n environment: AuthEnvironment;\n redirectPath: string;\n signUpUrl?: string;\n disallowedOrigins: string[];\n postLogoutRedirectPath?: string;\n issuerOverride?: string;\n}\n\nexport const { AuthDefaultModuleConfig, AuthModuleConfig, injectAuthModuleConfig } = createModuleConfigTokens('Auth', '@odx/auth', {\n environment: 'prod',\n redirectPath: 'login/callback',\n disallowedOrigins: [],\n} as AuthModuleConfig);\n","import { inject, Injectable } from '@angular/core';\nimport { OktaAuthStateService, OKTA_AUTH } from '@okta/okta-angular';\nimport { map, Observable, shareReplay } from 'rxjs';\nimport { User } from './models';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n private readonly auth = inject(OKTA_AUTH);\n private readonly authState = inject(OktaAuthStateService);\n\n public readonly isAuthenticated$ = this.authState.authState$.pipe(\n map(({ isAuthenticated }) => !!isAuthenticated),\n shareReplay({ refCount: true })\n );\n public readonly user$: Observable<User | null> = this.authState.authState$.pipe(\n map(({ idToken }) => idToken?.claims ?? null),\n shareReplay({ refCount: true })\n );\n\n public async signIn(): Promise<void> {\n await this.auth.signInWithRedirect();\n }\n\n public async signOut(): Promise<void> {\n await this.auth.signOut();\n }\n\n public getAccessToken(): string | null {\n return this.auth.getAccessToken() ?? null;\n }\n\n public getRefreshToken(): string | null {\n return this.auth.getRefreshToken() ?? null;\n }\n\n public getAuthHeader(): { Authorization: `Bearer ${string}` } {\n return { Authorization: `Bearer ${this.getAccessToken()}` };\n }\n\n public hasAnyGroups$(groups: string | string[] | Record<string, string[]>): Observable<boolean> {\n return this.authState.hasAnyGroups(groups);\n }\n}\n","import { Directive, EventEmitter, HostListener, inject, OnInit, Output } from '@angular/core';\nimport { LoadingSpinnerDirective } from '@odx/angular/components/loading-spinner';\nimport { AuthService } from '../auth.service';\n\n@Directive({\n standalone: true,\n selector: '[odxButton][odxAuthSignIn]',\n hostDirectives: [LoadingSpinnerDirective],\n})\nexport class SignInDirective implements OnInit {\n private readonly authService = inject(AuthService);\n private readonly loadingSpinnerDirective = inject(LoadingSpinnerDirective, { self: true });\n\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxAuthSignIn')\n public afterSignIn = new EventEmitter<void>();\n\n public ngOnInit(): void {\n this.loadingSpinnerDirective.autoColor = true;\n }\n\n @HostListener('click')\n protected async signIn(): Promise<void> {\n this.loadingSpinnerDirective.isLoading = true;\n await this.authService.signIn();\n this.afterSignIn.emit();\n }\n}\n","import { Directive, EventEmitter, HostListener, inject, OnInit, Output } from '@angular/core';\nimport { LoadingSpinnerDirective } from '@odx/angular/components/loading-spinner';\nimport { AuthService } from '../auth.service';\n\n@Directive({\n standalone: true,\n selector: '[odxButton][odxAuthSignOut]',\n hostDirectives: [LoadingSpinnerDirective],\n})\nexport class SignOutDirective implements OnInit {\n private readonly authService = inject(AuthService);\n private readonly loadingSpinnerDirective = inject(LoadingSpinnerDirective, { self: true });\n\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxAuthSignOut')\n public afterSignOut = new EventEmitter<void>();\n\n public ngOnInit(): void {\n this.loadingSpinnerDirective.autoColor = true;\n }\n\n @HostListener('click')\n protected async signIn(): Promise<void> {\n this.loadingSpinnerDirective.isLoading = true;\n await this.authService.signOut();\n this.afterSignOut.emit();\n }\n}\n","import { User } from '../models';\n\nexport function getUserInitials(user?: User | null): string {\n if (!user?.name) return '';\n const names = user.name.trim().split(' ');\n\n return names.reduce((initials, curr, index) => {\n if (index === 0 || index === names.length - 1) {\n initials = `${initials}${curr.charAt(0).toUpperCase()}`;\n }\n return initials;\n }, '');\n}\n","import { AuthEnvironment } from '../models';\n\nexport function resolveIssuer(environment: AuthEnvironment, issuerOverride?: string | null): string {\n if (issuerOverride) return issuerOverride;\n switch (environment) {\n case 'dev':\n return 'https://dev.login.draeger.com/oauth2/default';\n case 'stage':\n return 'https://test.login.draeger.com/oauth2/default';\n default:\n return 'https://login.draeger.com/oauth2/default';\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { DropdownModule } from '@odx/angular/components/dropdown';\nimport { HeaderModule } from '@odx/angular/components/header';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { Pure } from '@odx/angular/utils';\nimport { injectAuthModuleConfig } from './auth.config';\nimport { AuthService } from './auth.service';\nimport { SignInDirective, SignOutDirective } from './directives';\nimport { getUserInitials } from './helpers';\nimport { User } from './models';\n\n@Component({\n standalone: true,\n selector: 'odx-auth',\n imports: [CoreModule, AreaHeaderModule, DropdownModule, HeaderModule, LogoDirective, SignInDirective, SignOutDirective],\n templateUrl: './auth.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AuthComponent {\n protected readonly config = injectAuthModuleConfig();\n protected readonly authService = inject(AuthService);\n\n @Input()\n public signInButtonText = 'Sign in';\n\n @Input()\n public signOutButtonText = 'Sign out';\n\n @Pure\n public getInitials(user?: User | null): string {\n return getUserInitials(user);\n }\n}\n","<odx-action-group *odxLet=\"authService.user$ | async as user\">\n <ng-template [ngIf]=\"authService.isAuthenticated$ | async\" [ngIfElse]=\"notAuthenticated\">\n <button odxButton odxHeaderAvatar [odxDropdown]=\"userProfileMenu\">\n <odx-avatar>\n {{ getInitials(user) }}\n </odx-avatar>\n </button>\n </ng-template>\n <ng-template #notAuthenticated>\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"primary\">\n <odx-icon name=\"user\" alignLeft></odx-icon>\n {{ signInButtonText }}\n </button>\n </ng-template>\n <ng-template #userProfileMenu>\n <odx-area-header class=\"odx-padding-x-12\" size=\"small\">\n <odx-avatar>\n {{ getInitials(user) }}\n </odx-avatar>\n <h2 class=\"odx-title\">{{ user?.name }}</h2>\n <h5 class=\"odx-subtitle\">{{ user?.email_address }}</h5>\n </odx-area-header>\n <ng-content></ng-content>\n <div class=\"odx-margin-top-12\" odxLayout=\"flex vertical-center\">\n <odx-logo odxLayout=\"auto\" class=\"odx-margin-left-12 odx-margin-right-auto\"></odx-logo>\n <button odxButton odxAuthSignOut variant=\"ghost\">\n {{ signOutButtonText }}\n <odx-icon name=\"arrow-right\" alignRight></odx-icon>\n </button>\n </div>\n </ng-template>\n</odx-action-group>\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { injectAuthModuleConfig } from './auth.config';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n private readonly config = injectAuthModuleConfig();\n private readonly authService = inject(AuthService);\n\n public intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n return next.handle(this.addAuthHeader(request));\n }\n\n private addAuthHeader(request: HttpRequest<unknown>): HttpRequest<unknown> {\n if (!this.config.disallowedOrigins.find((origin) => !!request.url.match(origin))) {\n return request.clone({ setHeaders: this.authService.getAuthHeader() });\n }\n return request;\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, inject, Provider } from '@angular/core';\nimport {} from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { WindowRef } from '@odx/angular';\nimport { buildUrl } from '@odx/angular/utils';\nimport { OktaCallbackComponent, OktaConfig, OKTA_CONFIG } from '@okta/okta-angular';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { DEFAULT_AUTH_SCOPES, injectAuthModuleConfig } from './auth.config';\nimport { AuthInterceptor } from './auth.interceptor';\nimport { resolveIssuer } from './helpers';\n\nexport function registerAuthCallbackRoute(): () => void {\n const { redirectPath } = injectAuthModuleConfig();\n const router = inject(Router);\n\n return () => {\n router.config.unshift({ path: redirectPath, component: OktaCallbackComponent });\n };\n}\n\nexport function initalizeAuthConfig(): OktaConfig {\n const { clientId, scopes, redirectPath, environment, postLogoutRedirectPath, issuerOverride } = injectAuthModuleConfig();\n const origin = inject(WindowRef).getOrigin();\n const postLogoutRedirectUri = postLogoutRedirectPath ? buildUrl(origin, postLogoutRedirectPath) : undefined;\n\n return {\n oktaAuth: new OktaAuth({\n issuer: resolveIssuer(environment, issuerOverride),\n clientId,\n redirectUri: buildUrl(origin, redirectPath),\n scopes: Array.from(new Set(DEFAULT_AUTH_SCOPES.concat(scopes ?? []))),\n pkce: true,\n devMode: environment === 'dev',\n postLogoutRedirectUri,\n }),\n };\n}\n\nexport default [\n {\n provide: APP_INITIALIZER,\n useFactory: registerAuthCallbackRoute,\n multi: true,\n },\n {\n provide: OKTA_CONFIG,\n useFactory: initalizeAuthConfig,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true,\n },\n] as Provider[];\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ModuleConfigDependencies, ModuleConfigProvider, provideModuleConfig } from '@odx/angular/utils';\nimport { OktaAuthModule } from '@okta/okta-angular';\nimport { AuthComponent } from './auth.component';\nimport { AuthModuleConfig } from './auth.config';\nimport authProviders from './auth.providers';\nimport { SignInDirective, SignOutDirective } from './directives';\n\nconst modules = [AuthComponent, SignInDirective, SignOutDirective];\n\n@NgModule({\n imports: [...modules],\n exports: [OktaAuthModule, ...modules],\n})\nexport class AuthModule {\n public static forRoot<D extends ModuleConfigDependencies>(config: ModuleConfigProvider<Partial<AuthModuleConfig>, D>): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [provideModuleConfig(AuthModuleConfig, config), ...authProviders],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { OktaAuthGuard as AuthGuard } from '@okta/okta-angular';
|
|
2
|
+
export * from './lib/auth.component';
|
|
3
|
+
export * from './lib/auth.config';
|
|
4
|
+
export * from './lib/auth.interceptor';
|
|
5
|
+
export * from './lib/auth.module';
|
|
6
|
+
export * from './lib/auth.providers';
|
|
7
|
+
export * from './lib/auth.service';
|
|
8
|
+
export * from './lib/directives';
|
|
9
|
+
export * from './lib/helpers';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthService } from './auth.service';
|
|
2
|
+
import { User } from './models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AuthComponent {
|
|
5
|
+
protected readonly config: import("./auth.config").AuthModuleConfig;
|
|
6
|
+
protected readonly authService: AuthService;
|
|
7
|
+
signInButtonText: string;
|
|
8
|
+
signOutButtonText: string;
|
|
9
|
+
getInitials(user?: User | null): string;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AuthComponent, "odx-auth", never, { "signInButtonText": "signInButtonText"; "signOutButtonText": "signOutButtonText"; }, {}, never, ["*"], true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OktaAuthOptions } from '@okta/okta-auth-js';
|
|
2
|
+
import { AuthEnvironment } from './models';
|
|
3
|
+
export declare const DEFAULT_AUTH_SCOPES: string[];
|
|
4
|
+
export interface AuthModuleConfig extends Pick<OktaAuthOptions, 'clientId' | 'scopes'> {
|
|
5
|
+
environment: AuthEnvironment;
|
|
6
|
+
redirectPath: string;
|
|
7
|
+
signUpUrl?: string;
|
|
8
|
+
disallowedOrigins: string[];
|
|
9
|
+
postLogoutRedirectPath?: string;
|
|
10
|
+
issuerOverride?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const AuthDefaultModuleConfig: AuthModuleConfig, AuthModuleConfig: import("@angular/core").InjectionToken<Partial<AuthModuleConfig>>, injectAuthModuleConfig: () => AuthModuleConfig;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AuthInterceptor implements HttpInterceptor {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly authService;
|
|
7
|
+
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
8
|
+
private addAuthHeader;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthInterceptor, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthInterceptor>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { ModuleConfigDependencies, ModuleConfigProvider } from '@odx/angular/utils';
|
|
3
|
+
import { AuthModuleConfig } from './auth.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./auth.component";
|
|
6
|
+
import * as i2 from "./directives/sign-in.directive";
|
|
7
|
+
import * as i3 from "./directives/sign-out.directive";
|
|
8
|
+
import * as i4 from "@okta/okta-angular";
|
|
9
|
+
export declare class AuthModule {
|
|
10
|
+
static forRoot<D extends ModuleConfigDependencies>(config: ModuleConfigProvider<Partial<AuthModuleConfig>, D>): ModuleWithProviders<AuthModule>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthModule, never, [typeof i1.AuthComponent, typeof i2.SignInDirective, typeof i3.SignOutDirective], [typeof i4.OktaAuthModule, typeof i1.AuthComponent, typeof i2.SignInDirective, typeof i3.SignOutDirective]>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AuthModule>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Provider } from '@angular/core';
|
|
2
|
+
import { OktaConfig } from '@okta/okta-angular';
|
|
3
|
+
export declare function registerAuthCallbackRoute(): () => void;
|
|
4
|
+
export declare function initalizeAuthConfig(): OktaConfig;
|
|
5
|
+
declare const _default: Provider[];
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { User } from './models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AuthService {
|
|
5
|
+
private readonly auth;
|
|
6
|
+
private readonly authState;
|
|
7
|
+
readonly isAuthenticated$: Observable<boolean>;
|
|
8
|
+
readonly user$: Observable<User | null>;
|
|
9
|
+
signIn(): Promise<void>;
|
|
10
|
+
signOut(): Promise<void>;
|
|
11
|
+
getAccessToken(): string | null;
|
|
12
|
+
getRefreshToken(): string | null;
|
|
13
|
+
getAuthHeader(): {
|
|
14
|
+
Authorization: `Bearer ${string}`;
|
|
15
|
+
};
|
|
16
|
+
hasAnyGroups$(groups: string | string[] | Record<string, string[]>): Observable<boolean>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@odx/angular/components/loading-spinner";
|
|
4
|
+
export declare class SignInDirective implements OnInit {
|
|
5
|
+
private readonly authService;
|
|
6
|
+
private readonly loadingSpinnerDirective;
|
|
7
|
+
afterSignIn: EventEmitter<void>;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
protected signIn(): Promise<void>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SignInDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SignInDirective, "[odxButton][odxAuthSignIn]", never, {}, { "afterSignIn": "odxAuthSignIn"; }, never, never, true, [{ directive: typeof i1.LoadingSpinnerDirective; inputs: {}; outputs: {}; }]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@odx/angular/components/loading-spinner";
|
|
4
|
+
export declare class SignOutDirective implements OnInit {
|
|
5
|
+
private readonly authService;
|
|
6
|
+
private readonly loadingSpinnerDirective;
|
|
7
|
+
afterSignOut: EventEmitter<void>;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
protected signIn(): Promise<void>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SignOutDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SignOutDirective, "[odxButton][odxAuthSignOut]", never, {}, { "afterSignOut": "odxAuthSignOut"; }, never, never, true, [{ directive: typeof i1.LoadingSpinnerDirective; inputs: {}; outputs: {}; }]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type AuthEnvironment = 'dev' | 'stage' | 'prod';
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@odx/auth",
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
|
+
"author": "Drägerwerk AG & Co.KGaA",
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
6
|
+
"peerDependencies": {
|
|
7
|
+
"@odx/angular": ">=1.0.0-rc.12"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@okta/okta-angular": "^6.0.0",
|
|
11
|
+
"@okta/okta-auth-js": "^7.2.0",
|
|
12
|
+
"tslib": "^2.5.0"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"module": "fesm2015/odx-auth.mjs",
|
|
18
|
+
"es2020": "fesm2020/odx-auth.mjs",
|
|
19
|
+
"esm2020": "esm2020/odx-auth.mjs",
|
|
20
|
+
"fesm2020": "fesm2020/odx-auth.mjs",
|
|
21
|
+
"fesm2015": "fesm2015/odx-auth.mjs",
|
|
22
|
+
"typings": "index.d.ts",
|
|
23
|
+
"exports": {
|
|
24
|
+
"./package.json": {
|
|
25
|
+
"default": "./package.json"
|
|
26
|
+
},
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./index.d.ts",
|
|
29
|
+
"esm2020": "./esm2020/odx-auth.mjs",
|
|
30
|
+
"es2020": "./fesm2020/odx-auth.mjs",
|
|
31
|
+
"es2015": "./fesm2015/odx-auth.mjs",
|
|
32
|
+
"node": "./fesm2015/odx-auth.mjs",
|
|
33
|
+
"default": "./fesm2020/odx-auth.mjs"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"sideEffects": false
|
|
37
|
+
}
|