Oshop Tips

Decoupling service module

  • create service provider

    ng g s auth

  • add to app.module.ts as provider

    providers: [
      AuthService
    ],

Protect router using auth-guard

  • create router guard service

    ng g s auth-guard

  • add to app.module.ts as provider

    providers: [
      AuthGuard
    ],
  • In AuthGuard to implement CanActivate, remember canActivate return Observable[boolean]

  • protect future router { path: 'check-out', component: CheckOutComponent, canActivate: [AuthGuard]}

Redirecting after login

  • Using CanActivate's RouterStateSnapShot to set return Url to queryParam

  • Save returnUrl to localStorage, because Redirect to Google login will lost queryParam

  • Get returnUrl after login and use router to navigate to returnUrl

Authorization (Store user in firebase)

  • Using service for this layer

ng g s services/user

  • add as service provider in app.module.ts

  • create userservice

Last updated

Was this helpful?