JWT

    [Spring] RefreshToken + Redis 사용해서 자동 로그인 + 로그아웃 구현하기

    [Spring] RefreshToken + Redis 사용해서 자동 로그인 + 로그아웃 구현하기

    모바일 어플리케이션 또는 일부 웹 앱을 사용하다 보면 보통 자동 로그인 체크 옵션이 있다. 또는 이런 옵션이 없어도 앱을 키면 이미 로그인 되어있는 경우가 많다. 카카오톡, 토스 등등 과연 어떻게 구현하는 것일까? 세션 방식과 토큰 방식에서 물론 차이가 있지만 내가 선호하는 방법인 토큰 방식으로 구현을 해보았다. 이 포스팅은 Spring Security, JWT, Redis 관련 세팅이 이미 되어있다고 가정하고 코드를 작성했습니다. 📌 자동 로그인 인증 과정 1) 유저가 성공적으로 로그인 했을 경우 리프레시 토큰과 엑세스 토큰을 응답받는다. 2) 유저는 이를 보관하고 사용하다가, 엑세스 토큰이 만료되는 시점이 올 것이다. 3) 유저의 서버 API 요청시 401 응답을 받으면 reissue 요청을 시도해야..

    [Spring] 스프링 시큐리티 + JWT로 카카오 로그인 구현하기, 프론트엔드와 연결

    [Spring] 스프링 시큐리티 + JWT로 카카오 로그인 구현하기, 프론트엔드와 연결

    지난 번에 DefaultOAuth2Service 를 상속하여 스프링 시큐리티에 등록하는 방식으로 카카오 로그인을 구현해보았다 하지만 이런 식으로 하게 되면 스프링 내장 함수을 이용하면서 편리하게 구현을 할 수는 있지만 구조가 너무 추상적이고 컨트롤러에서 통제하기가 어려웠다 그래서 이번에는 OAuth 인증 과정의 본질을 뜯어보면서 하나하나 구현해보았다 💾 이전 글 (DefaultOAuth2Service 이용) https://gengminy.tistory.com/39 [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기 📌 OAuth "OpenID Authorization"의 약자 비밀번호를 제공하지 않으면서 웹사이트나 어플리케이션 접근 권한을 부여할 수 있는 로그..

    [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기

    [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기

    📌 OAuth "OpenID Authorization"의 약자 비밀번호를 제공하지 않으면서 웹사이트나 어플리케이션 접근 권한을 부여할 수 있는 로그인 방식 기존 아이디와 비밀번호를 통한 로그인 방식은 보안상 취약한 점이 아주 많다 그러나 OAuth 를 사용하면 특정 접근 권한만 부여할 수도 있고 강력한 보안을 제공하는 대기업에 사용자 인증과 인가를 위임하는 방식으로 안전하게 로그인할 수 있다 🏛 Dependency implementation group: 'org.springframework.security', name: 'spring-security-oauth2-client', version: '5.6.3' build.gradle 에 OAuth 관련 의존성을 추가해준다 🚀 Kakao Developers ..

    [NestJs] 따라하면서 배우는 NestJs - 8 (권한 부여, 유저와 게시글 관계 부여)

    [NestJs] 따라하면서 배우는 NestJs - 8 (권한 부여, 유저와 게시글 관계 부여)

    ✅ Boards 모듈에서 AuthGuard 사용하기 📝./src/boards/boards.module.ts import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthModule } from 'src/auth/auth.module'; import { BoardRepository } from './board.repository'; import { BoardsController } from './boards.controller'; import { BoardsService } from './boards...

    [NestJs] 따라하면서 배우는 NestJs - 7 (JWT, passport 이용한 인증 구현)

    [NestJs] 따라하면서 배우는 NestJs - 7 (JWT, passport 이용한 인증 구현)

    ✅ JWT, passport 모듈 추가 npm i @nestjs/jwt @nestjs/passport passport passport-jwt --save ✔ @nestjs/jwt - nest에서 jwt를 사용하기 위한 모듈 ✔ @nestjs/passport - nest에서 passport를 사용하기 위한 모듈 ✔ passport - passport 모듈 ✔ passport-jwt - passport와 jwt를 연동하기 위한 모듈 📝./src/auth/auth.module.ts import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import { PassportModule } from '@nestjs/passpor..