Authentication

UserDetailsService & BCrypt, form login & HTTP Basic, JWT structure/validation, JWT issue/refresh/revoke.

6 bài · ~61 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Authentication — tổng quan

    Module này mổ xác thực: lookup user + BCrypt, form login/HTTP Basic, và JWT stateless (structure, issue, refresh).

    ~4 phút
  2. 02

    UserDetailsService & BCrypt — user lookup và password hashing

    Cơ chế bên dưới của UserDetailsService: Spring gọi loadUserByUsername như thế nào, trả về gì, và tại sao. BCrypt — tại sao không dùng MD5/SHA, cơ chế salt per-password + cost factor adaptive, và tại sao chậm là thiết kế đúng. Account state flags (locked/disabled/expired) trong UserDetails.

    ~12 phút
  3. 03

    Form login, HTTP Basic & session fixation — cơ chế xác thực truyền thống

    UsernamePasswordAuthenticationFilter nhận POST /login, DaoAuthenticationProvider verify BCrypt, session fixation protection đổi session ID sau login. Khi nào chọn Form Login, HTTP Basic hay JWT.

    ~14 phút
  4. 04

    JWT structure & validation — base64url, signing, Spring oauth2ResourceServer

    JWT (RFC 7519) là token tự đóng gói gồm header.payload.signature mã hoá base64url. Bài này bóc đúng một thứ: cấu trúc token, cơ chế signing HMAC (HS256) vs RSA (RS256), và Spring Security oauth2ResourceServer.jwt() validate signature + expiry tự động — cùng lý do chọn RS256 cho microservices.

    ~13 phút
  5. 05

    Issue, refresh và revoke JWT — vòng đời token trong production

    NimbusJwtEncoder issue access token ngắn + refresh token dài ở login endpoint. Refresh endpoint xoay token. Ba chiến lược revocation: short expiry, Redis denylist, DB refresh store. Pitfall secret từ env, không lưu sensitive data trong payload.

    ~14 phút
  6. 06

    Authentication — tổng kết

    Tóm tắt Authentication.

    ~4 phút