igodorogea / angular-refresh-token

Three ways to refresh token with Angular Http Interceptor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Angular refresh token interceptors πŸ”‚

Three ways to refresh token with Angular Http Interceptor

  • Brute force solution with tokenRefreshed$ BehaviorSubject as a semaphore
  • Using caught parameter in catchError rxjs operator to retry request failed request
  • Using retryWhen operator

Features

  • βœ… Refresh token only once for multiple requests
  • βœ… Log out user if refreshToken failed
  • βœ… Log out if user gets an error after first refreshing
  • βœ… Queue all requests while token is being refreshed(except BruteForceInterceptor)
  • βœ… Tests for all cases above

Usage

Add HttpInterceptor in providers section of your AppModule:

@NgModule({
  imports: [
    HttpClientModule
  ],
  providers: [
    AuthService,
    {
      provide: HTTP_INTERCEPTORS,
      useClass: RetryWhenInterceptor,
      multi: true
    },
  ],
})
export class AuthModule { }

About

Three ways to refresh token with Angular Http Interceptor


Languages

Language:HTML 53.4%Language:TypeScript 42.5%Language:JavaScript 3.9%Language:CSS 0.2%