@stottle-platform/ngx-auth0-wrapper v0.0.5
@stottle-platform/ngx-auth0-wrapper
An Angular service which wraps selected methods from the auth0-js library to use observables.
It has been tested with Angular 6.x.x and is complete with unit tests.
If you want to read the full API documentation of auth0.js, see here.
Installing and usage
npm install @stottle-platform/ngx-auth0-wrapper auth0-js
Load the module for your app (with auth0 options):
Import the NgxAuth0WrapperModule
in your root module and provide the options. The AuthOptions
could go into your environment.*.ts files.
The options
and logoutOptions
use the modals from the Auth0-js library.
import { NgxAuth0WrapperModule } from 'stottle-platform/ngx-auth0-wrapper';
import { AuthOptions } from '@stottle-platform/ngx-auth0-wrapper';
const authOptions: AuthOptions = {
options: {
clientID: 'clientId',
domain: 'domain',
responseType: 'token id_token',
redirectUri: 'http://localhost:4200/callback',
scope: 'openid profile',
audience: 'audience'
},
logoutOptions: {
returnTo: 'http://localhost:4200'
},
localStoragePrefix: 'local-storage-prefix',
sessionRenewalInterval: 30 * 60000
};
@NgModule({
...
imports: [
...
NgxAuth0WrapperModule.forRoot(authOptions),
]
})
Call the authorize method in a component to display the hosted login/signUp forms
import { Component, OnInit } from '@angular/core';
import { AuthProviderService } from '@stottle-platform/ngx-auth0-wrapper';
import { tap } from 'rxjs/operators';
@Component({
selector: 'app',
template: `<button (click)="authorize()">Signup</button>`
})
export class AppComponent implements OnInit {
constructor(private auth: AuthProviderService) {}
ngOnInit(): void {
this.auth.handleAuthentication().pipe(
tap(authentication => console.log(authentication))
).subscribe() // handle authentication stores the access token in local storage
}
authorize(): void {
this.auth.authorize({
mode: "signUp"
})
}
}
AuthProviderService API
Auth0 Docs | Package Method |
---|---|
authorize | authorize(options: AuthorizeOptions): void |
logout | logout(options?: LogoutOptions): void |
parseHash | handleAuthentication(): Observable<Authentication> |
checkSession | checkSession(): Observable<Authentication> |
changePassword | changePassword(options: ChangePasswordOptions): Obersvable<string> |
getUserInfo | getUserInfo(): Observable<Auth0UserProfile> |
n/a | scheduleSessionCheck(): Observable<number> |
n/a | clearLocalStorage(): void |
n/a | getAuthState(): Authentication * |
* getAuthState() returns values from local storage
Issue Reporting
If you have found a bug or if you have a feature request, please report them at this repository issues section.
For auth0 related questions/support please use the Support Center.
Author
License
This project is licensed under the MIT license. See the LICENSE file for more info.