@thecla/auth0-angular 6.0.0 → 8.0.0
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/esm2022/lib/auth.guard.mjs +30 -0
- package/esm2022/lib/auth.module.mjs +43 -0
- package/esm2022/lib/auth.service.mjs +57 -0
- package/esm2022/lib/effects/auth.effects.mjs +57 -0
- package/esm2022/lib/jwt.interceptor.mjs +30 -0
- package/esm2022/lib/provide-auth.mjs +20 -0
- package/esm2022/public-api.mjs +7 -0
- package/{fesm2020 → fesm2022}/thecla-auth0-angular.mjs +88 -73
- package/fesm2022/thecla-auth0-angular.mjs.map +1 -0
- package/lib/auth.guard.d.ts +2 -2
- package/lib/jwt.interceptor.d.ts +3 -7
- package/lib/provide-auth.d.ts +2 -0
- package/package.json +11 -17
- package/public-api.d.ts +5 -3
- package/esm2020/lib/auth.guard.mjs +0 -29
- package/esm2020/lib/auth.module.mjs +0 -42
- package/esm2020/lib/auth.service.mjs +0 -52
- package/esm2020/lib/effects/auth.effects.mjs +0 -56
- package/esm2020/lib/jwt.interceptor.mjs +0 -32
- package/esm2020/public-api.mjs +0 -5
- package/fesm2015/thecla-auth0-angular.mjs +0 -221
- package/fesm2015/thecla-auth0-angular.mjs.map +0 -1
- package/fesm2020/thecla-auth0-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/actions/auth.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/auth-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/reducers/auth.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/state/auth.state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/index.mjs +0 -0
- /package/{esm2020 → esm2022}/thecla-auth0-angular.mjs +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thecla-auth0-angular.mjs","sources":["../../../projects/auth0-angular/src/lib/auth-config.ts","../../../projects/auth0-angular/src/lib/actions/auth.actions.ts","../../../projects/auth0-angular/src/lib/auth.service.ts","../../../projects/auth0-angular/src/lib/effects/auth.effects.ts","../../../projects/auth0-angular/src/lib/jwt.interceptor.ts","../../../projects/auth0-angular/src/lib/reducers/auth.reducer.ts","../../../projects/auth0-angular/src/lib/store/index.ts","../../../projects/auth0-angular/src/lib/auth.module.ts","../../../projects/auth0-angular/src/lib/auth.guard.ts","../../../projects/auth0-angular/src/thecla-auth0-angular.ts"],"sourcesContent":["export abstract class AuthConfig {\n public abstract audience: string;\n public abstract clientId: string;\n public abstract domain: string;\n public abstract scope: string;\n public abstract redirectUri?: string;\n public abstract logoutUri?: string;\n public abstract useRefreshTokens?: boolean;\n public abstract sessionCheckExpiryDays?: number;\n}\n","import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const init = createAction('[@thecla/auth0-angular] init');\n\nexport const signIn = createAction('[@thecla/auth0-angular] sign in', props<{ returnUrl: string }>());\n\nexport const signInCompleted = createAction(\n '[@thecla/auth0-angular] sign in completed',\n props<{ state: { target: string } }>()\n);\n\nexport const signedIn = createAction('[@thecla/auth0-angular] signed in', props<{ user: Profile }>());\n\nexport const signInFailed = createAction('[@thecla/auth0-angular] sign in failed', props<{ error: Error }>());\n\nexport const signOut = createAction('[@thecla/auth0-angular] sign out');\n\nexport const signedOut = createAction('[@thecla/auth0-angular] signed out');\n","import { Injectable } from '@angular/core';\nimport { Auth0Client, User } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly auth0: Auth0Client;\n\n public constructor(private readonly config: AuthConfig) {\n this.auth0 = new Auth0Client({\n audience: config.audience,\n client_id: config.clientId,\n domain: config.domain,\n redirect_uri: config.redirectUri ?? location.origin,\n scope: config.scope,\n useRefreshTokens: config.useRefreshTokens,\n sessionCheckExpiryDays: config.sessionCheckExpiryDays,\n });\n }\n\n public isAuthenticated() {\n return from(this.checkSession());\n }\n\n public loginWithRedirect(appState: { target: string }) {\n return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));\n }\n\n public handleRedirectCallback() {\n return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState as { target: string }));\n }\n\n public getUser() {\n return from(this.auth0.getUser()).pipe(filter((u): u is User => u !== undefined));\n }\n\n public getAccessToken(): Observable<unknown> {\n return from(this.auth0.getTokenSilently());\n }\n\n public logout() {\n this.auth0.logout({ returnTo: this.config.logoutUri ?? location.origin });\n }\n\n private async checkSession() {\n await this.auth0.checkSession();\n\n return await this.auth0.isAuthenticated();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, createEffect, ofType, OnInitEffects } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\nimport { init, signedIn, signedOut, signIn, signInCompleted, signInFailed, signOut } from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects implements OnInitEffects {\n public readonly signIn$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))\n ),\n { dispatch: false }\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(() =>\n this.auth.getUser().pipe(\n map(user => signedIn({ user })),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly redirect$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))\n ),\n { dispatch: false }\n );\n\n public readonly signOut$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signOut),\n tap(() => {\n try {\n this.auth.logout();\n } catch {}\n }),\n map(() => signedOut())\n )\n );\n\n public readonly init$ = createEffect(() =>\n this.actions$.pipe(\n ofType(init),\n switchMap(() => {\n const params = window.location.search;\n\n if (params.includes('code=') && params.includes('state=')) {\n return this.completeSignIn();\n } else {\n return this.auth.isAuthenticated().pipe(\n switchMap(auth => this.getAuthResult(auth)),\n catchError(error => of(signInFailed({ error })))\n );\n }\n })\n )\n );\n\n public constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n\n public ngrxOnInitEffects() {\n return init();\n }\n\n private getAuthResult(auth: boolean) {\n if (auth) {\n return this.auth.getUser().pipe(map(user => signedIn({ user })));\n } else {\n return of(signedOut());\n }\n }\n\n private completeSignIn() {\n return this.auth.handleRedirectCallback().pipe(\n map(state => signInCompleted({ state })),\n catchError(error => of(signInFailed({ error })))\n );\n }\n}\n","import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n public constructor(private readonly auth: AuthService) {}\n\n public intercept(request: HttpRequest<any>, next: HttpHandler) {\n if (this.isSameDomain(request)) {\n return this.authorize(request).pipe(mergeMap(authorizedRequest => next.handle(authorizedRequest)));\n } else {\n return next.handle(request);\n }\n }\n\n private isSameDomain(request: HttpRequest<any>) {\n const isAbsolute = /^https?:\\/\\//i.test(request.url);\n\n return !isAbsolute;\n }\n\n private authorize(request: HttpRequest<any>) {\n const token$ = this.auth.getAccessToken();\n\n return token$.pipe(map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })));\n }\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { signedIn, signedOut, signInFailed } from '../actions/auth.actions';\nimport { State } from '../state/auth.state';\n\nexport const noAuthentication: State = {\n authenticating: false,\n authenticated: false,\n};\n\nexport const startAuthentication: State = {\n authenticating: true,\n authenticated: false,\n};\n\nconst authReducer = createReducer(\n startAuthentication,\n on(signedIn, (state, { user }) => ({\n ...state,\n authenticating: false,\n authenticated: true,\n user,\n })),\n on(signedOut, _ => noAuthentication),\n on(signInFailed, _ => noAuthentication)\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return authReducer(state, action);\n}\n","import { createFeatureSelector, select } from '@ngrx/store';\nimport { pipe } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { State } from '../state/auth.state';\n\nexport const featureKey = 'auth';\n\nexport const selectState = createFeatureSelector<State>(featureKey);\n\nexport const isAuthenticated = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.authenticated)\n);\n\nexport const getUser = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.user)\n);\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { JwtInterceptor } from './jwt.interceptor';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\n@NgModule({\n declarations: [],\n imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],\n exports: [],\n})\nexport class AuthModule {\n public static forRoot(config: AuthConfig): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [\n {\n provide: AuthConfig,\n useValue: config,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { first, tap } from 'rxjs/operators';\nimport { signIn } from './actions/auth.actions';\nimport { isAuthenticated } from './store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n private readonly authenticated$ = this.store.pipe(isAuthenticated);\n\n public constructor(private readonly store: Store) {}\n\n public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.authenticated$.pipe(\n tap(auth => {\n if (!auth) {\n this.store.dispatch(signIn({ returnUrl: state.url }));\n }\n }),\n first()\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthConfig","i2.AuthService","i1.AuthService","i1","i2"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|