ng-auth-jwt
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-beta.1 • Public • Published

NgAuthJwt

This package provides some utilities to deal with authentication features that are implemented based on JWT.

Built-in

Directives

  • isCurrentUser
  • isAuthenticated
  • userRole

Services

NgAuthenticationService

Methods
  • signInWithLink
  • signOut
  • isAuthenticated
  • isCurrentUser
  • userRole
  • getUserInfo

Usage

Import NgAuthentication to your AppModule

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgAuthenticationModule.forRoot({
      authProvider: environment.authProvider,
      loginUri: 'signInWithLink'
    })
  ],
  providers: [],
  bootstrap: [AppComponent]
})

Directives

1. isAuthenticated

1.1. Display content in case user is authenticated
<ng-template isAuthenticated>
  <h1>Welcome user!</h1>
</ng-template>

Or

<h1 *isAuthenticated >Welcome user!</h1>
1.2. Check if user is authenticated or not and then display content accordingly
<ng-template isAuthenticated>
  <h1 * >Welcome user!</h1> <!-- This content will be displayed if user is authenticated -->
  <button * class="btn">Please sign in!</button> <!-- This content will be displayed if not -->
</ng-template>
1.3. Display content in case user is unauthenticated
<ng-template isAuthenticated>
  <ng-template></ng-template> <!-- Trick: Define empty content for the right condition -->
  <button * class="btn">Please sign in!</button>
</ng-template>

2. isCurrentUser

2.1. Display content in case logger is current user
<ng-template [isCurrentUser]="'vix'">
  <h1>It me ¯\_(ツ)_/¯</h1>
</ng-template>

Or

<h1 *isCurrentUser="'vix" >It me ¯\_(ツ)_/¯</h1>
2.2. Check if logger is current user or not and then display content accordingly
<ng-template [isCurrentUser]="'vix'">
  <h1 * >It me ¯\_(ツ)_/¯</h1> <!-- This content will be displayed if logger is current user -->
  <button * class="btn">Who are you?</button> <!-- This content will be displayed if not -->
</ng-template>
2.3. Display content in case current user is not logged in
<ng-template [isCurrentUser]="'vix'">
  <ng-template></ng-template> <!-- Trick: Define empty content for the right condition -->
  <button * class="btn">Who are you?</button>
</ng-template>

3. userRole

Check & display based on user role (the same concepts with ngSwitchCase)

<ng-template userRole>
  <ng-template [userRoleIs]="'admin'">
    <button class="btn">Remove</button>
  </ng-template>
</ng-template>

Or

<ng-template userRole>
  <button *userRoleIs="'admin'" class="btn">Remove</button>
</ng-template>

Services

Inject NgAuthenticationService into AppComponent (in case you want to use some method of this service)

export class AppComponent {
 
  constructor(
    @Inject(NgAuthenticationService) private auth: NgAuthenticationService
  ) {}
 
}

Readme

Keywords

none

Package Sidebar

Install

npm i ng-auth-jwt

Weekly Downloads

0

Version

0.1.0-beta.1

License

none

Unpacked Size

272 kB

Total Files

32

Last publish

Collaborators

  • vixnguyen