oauth2

    [Spring] 스프링 소셜 로그인 OIDC 방식으로 구현하기 (OAuth with OpenID Connect)

    [Spring] 스프링 소셜 로그인 OIDC 방식으로 구현하기 (OAuth with OpenID Connect)

    📌 OpenID Connect (OIDC) 는 무엇인가? OAuth 2.0 프로토콜을 기반으로 한 사용자 인증 프로토콜 accessToken 이외에도 id_token을 사용하여 토큰으로 사용자가 누구인지 확인할 수도 있다. OIDC는 표준 프로토콜(스펙)이기 때문에 다른 OAuth 공급자와 호환된다. 보통 소셜 로그인 요청 시 scope 에 `open id` 를 추가해주면 엑세스 토큰과 리프레시 토큰 이외에 id token 을 추가로 응답해준다. 🔗 공개 키 가져오기 각 OAuth Provider 들은 공개키 목록의 JSON 파일을 제공한다. 구글, 카카오, 애플의 공개키 목록 url 은 다음과 같다. 📌 Google https://www.googleapis.com/oauth2/v3/certs 📌 Kak..

    [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 ..