0.0.2 • Published 6 years ago

restomax-auth v0.0.2

Weekly downloads
8
License
-
Repository
-
Last release
6 years ago

Restomax Auth

Restomax Auth is an Angular 7.0.x module to use easly Google Connection OAuth 2.0 Angular auth use Angular Material for the form component and angular firestore.

Install module

npm install --save restomax-auth

Import module

import { RMXAuthModule } from 'restomax-weather';

@NgModule({
  imports: [
    ...
    RMXAuthModule,
    ...
  ],
  ...
})
export class AppModule {}

Use Module/Component

<rmx-auth-login afterLoginPage="/home" loginPage="/login"></rmx-auth-login>

Use canActivate to your angular routes

import { NgModule } from  '@angular/core';
import { CommonModule } from  '@angular/common';
import { Routes, RouterModule } from  '@angular/router';
import { RMXAuthGuard } from 'restomax-auth';

const routes: Routes = [
  {
    path: '',
    redirectTo: 'home',
    pathMatch: 'full'
  },
  {
    path:  'login',
    component:  LoginPage
  },
  {
    path:  'home',
    component:  HomePage,
    canActivate: [RMXAuthGuard]
  }
];

@NgModule({
  imports: [CommonModule, RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export  class  AppRoutingModule { }

Use RMXAuth provider

import { Component, OnInit } from  '@angular/core';
import { RMXAuthService, IUser, ICredentials } from  'restomax-auth';

@Component({
  selector:  'your-component',
  templateUrl:  'your.component.html',
  styleUrls: ['your.component.scss'],
})
export  class  YourComponent  implements  OnInit {
  constructor(private auth: RMXAuthService) {}

  connect(type: 'subscribe' | 'password' | 'facebook' | 'twitter' | 'google', credentials: ICredentials) {
    this.auth.signIn('password', credentials)
      .then(() => console.log('You are now connected'))
      .catch(e => console.error('Auth connect error: ' + e));
  }

  disconnect() {
    this.auth.signOut()
      .then(() => console.log('You are now disconnected'))
      .catch(e => console.error('Auth disonnect error: ' + e));
  }

  checkUserConnectionStatus() {
    console.log(this.auth.authenticated ? 'User is auhentificated' : 'User is diconnected');
  }

  resetPassword(credentials: ICredentials) {
    this.auth.resetPassword(credentials)
      .then(message => console.log(message))
      .catch(e => console.error(e))
  }

  ngOnInit() {
    this.auth.userSubject.subscribe((userInfo: IUser)  => {
      if(!userInfo) { return; }
      console.log('userInfo: ' + JSON.stringify(userInfo));
      console.log('idToken: ' + this.auth.idToken);
    });
  }
}

Next doc TODO

Complete doc...

0.0.2

6 years ago

0.0.1

6 years ago