/angular-12-jwt-authentication

Angular 12 JWT - Token based Authentication & Role based Authorization example with Web Api - Login Page & Registration

Primary LanguageTypeScript

Angular 12 JWT Authentication & Authorization example

Flow for User Registration and User Login

For JWT – Token based Authentication with Web API, we’re gonna call 2 endpoints:

  • POST api/auth/signup for User Registration
  • POST api/auth/signin for User Login

You can take a look at following flow to have an overview of Requests and Responses that Angular 12 Client will make or receive.

angular-12-jwt-authentication-flow

Angular JWT App Diagram with Router and HttpInterceptor

angular-12-jwt-authentication-overview

For more detail, please visit:

Angular 12 JWT Authentication & Authorization with Web API

With Spring Boot back-end

Angular 12 + Spring Boot: JWT Authentication and Authorization example

With Node.js Express back-end

Angular 12 + Node.js Express: JWT Authentication and Authorization example

Open app/_helpers/auth.interceptor.js, modify the code to work with x-access-token like this:

...

// const TOKEN_HEADER_KEY = 'Authorization'; // for Spring Boot back-end
const TOKEN_HEADER_KEY = 'x-access-token';   // for Node.js Express back-end

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  ...

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    ...
    if (token != null) {
      // for Spring Boot back-end
      // authReq = req.clone({ headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) });

      // for Node.js Express back-end
      authReq = req.clone({ headers: req.headers.set(TOKEN_HEADER_KEY, token) });
    }
    return next.handle(authReq);
  }
}

...

Run ng serve --port 8081 for a dev server. Navigate to http://localhost:8081/.

More practice

Angular JWT Refresh Token example with Http Interceptor

Angular CRUD Application example with Web API

Angular Pagination example | ngx-pagination

Angular File upload example with progress bar & Bootstrap

Fullstack with Node.js Express:

Angular + Node.js Express + MySQL example

Angular + Node.js Express + PostgreSQL example

Angular + Node.js Express + MongoDB example

Angular + Node.js Express: File upload example

Fullstack with Spring Boot:

Angular + Spring Boot + MySQL example

Angular + Spring Boot + PostgreSQL example

Angular + Spring Boot + MongoDB example

Angular + Spring Boot: File upload example

Fullstack with Django:

Angular 12 + Django example

Angular + Django + MySQL

Angular + Django + PostgreSQL

Angular + Django + MongoDB

Serverless with Firebase:

Angular 12 Firebase CRUD with Realtime DataBase | AngularFireDatabase

Angular 12 Firestore CRUD example with AngularFireStore

Angular 12 Firebase Storage: File Upload/Display/Delete example

Integration (run back-end & front-end on same server/port)

How to integrate Angular with Node.js Restful Services

How to Integrate Angular with Spring Boot Rest API