일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JIRA
- 파이썬
- githubactions
- 트랜잭션
- 소셜로그인
- 티스토리챌린지
- 스프링시큐리티
- springsecurityoauth2client
- 재갱신
- 프로그래머스
- CI/CD
- 메시지
- 데이터베이스
- springdataredis
- AWS
- 도커
- 국제화
- 오블완
- Spring
- 액세스토큰
- 토이프로젝트
- java
- 리프레시토큰
- 스프링부트
- docker
- oauth2
- springsecurity
- 백준
- 스프링
- yaml-resource-bundle
- Today
- Total
목록springsecurity (4)
땃쥐네
이전 글에서, 사용자의 소셜서비스 사용자 정보를 획득하는 것까지 수행했습니다.이제 이 정보를 기반으로 우리 서비스에 실제로 로그인 시키고 회원가입까지 해보겠습니다.1. 유즈케이스 계약package com.ttasjwi.board.system.auth.application.usecaseimport java.time.ZonedDateTimeinterface SocialLoginUseCase { /** * 소셜 연동 정보를 기반으로 액세스토큰, 리프레시 토큰을 얻어옵니다. * 만약 소셜 연동에 해당하는 회원이 없으면 회원을 생성합니다. */ fun socialLogin(request: SocialLoginRequest): SocialLoginResult}data class So..
지난 글에서는 사용자의 OAuth2 권한부여 요청이 들어왔을 때, 사용자를 실제 권한부여 엔드포인트(소셜 로그인 페이지)로 리다이렉트 시켜서, code를 발급받는 부분까지 진행했습니다. 이번 글부터는 사용자를 실제로 소셜로그인, 회원가입 시키는 작업을 진행해볼건데요.소셜 서비스의 사용자 정보를 획득하는 작업까지 해보도록 하겠습니다.1. 리다이렉트 받은 페이지: 다시 백엔드의 소셜 로그인 API를 호출 리다이렉트 받은 페이지입니다.제가 따로 프론트엔드 서버를 띄워두지 않았지만, 프론트엔드 측에서는 사용자가 이 페이지로 리다이렉트 되었을 때 다음 작업을 수행해야합니다. 1. 구글/네이버/카카오 측이 리다이렉트 시점에 보낸 파라미터 수집리다이렉트 된 페이지의 쿼리 파라미터에는 state, code, sc..
간단하게 서비스의 사용자들의 편의를 위해 소셜 로그인 기능을 추가해보겠습니다.다만 소셜 로그인 기능은 구현과정이 약간 길어지다보니 글을 2-3개 정도로 쪼개서 진행해보겠습니다. 양해 부탁드립니다.1. OAuth2 인증 방식 흐름 예를 들어 구글 로그인을 생각해볼게요.여러분이 여태 다른 서비스를 이용해보시면서 그 서비스 사용시 Google 로그인을 하며id 와 pw를 직접 전달해본 적이 있나요? 보통 서비스는 그런식으로 구성되어 있지 않습니다. 해당 서비스를 믿고 id, pw 를 그대로 넘겼다가 그 서비스가 무슨 짓을 할지 모르는데그걸 냉큼 넘겨줘선 안 됩니다. 이런 신뢰성 문제를 해결하기 위해 도입된 것이 OAuth2 입니다.우리 서비스가 최종사용자의 승인을 얻고, 제3의 서비스로부터 최종사용자의 정보를..
기존에는 로그인 하지 않은 사용자를 대상으로만 Api를 구현했습니다.이제 로그인 한 사용자를 대상으로 한 Api 들도 필요해질 것인데, 요청마다 사용자의 인증/인가가 필요해집니다. 지난 글에서 로그인 Api 를 구현하여 사용자에게 액세스토큰, 리프레시 토큰을 발급했습니다.매 요청마다 사용자에게 액세스토큰을 받고, 인증처리를 할 수 있도록 해보겠습니다. 여기서 스프링 시큐리티를 사용해보겠습니다.1. 스프링 시큐리티1.1 스프링부트 시큐리티스프링 시큐리티는 인증/인가 기능을 편리하게 구현할 수 있도록 스프링이 제공하는 라이브러리입니다. 여기서 더 나아가서 스프링부트 시큐리티(spring-boot-starter-security)를 사용하면, 인증/인가에 필요한 스프링 시큐리티 빈들이 자동구성으로 포함되어집니..