본문 바로가기
공부/Open Source

[Keycloak 21] Google idp 추가

by haejang 2023. 10. 29.
728x90
728x90

 

 

# Google OAuth Client 만들기

GCP 접속 > User 정보를 제공할 프로젝트 진입 > API 및 서비스 > 사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth 클라이언트 ID

 

애플리케이션 유형 : 웹 애플리케이션

이름 : 식별 가능한 이름 설정

그리고 승인된 리디렉션 URI를 아래 규칙에 맞게 추가해주자

https://[keycloak host]/realms/[realm 이름]/broker/google/endpoint
https://keycloak.honglab.com/realms/master/broker/google/endpoint

google idp를 여러 keycloak realm에 등록하는 경우, realm별 URI를 다 추가해주자

(나는 master realm에만 추가한다)

 

 

생성이 완료되면 Client ID 와 Secret(보안 비밀번호)를 확인할 수 있다.

나중에도 확인할 수 있으니 꼭 어딘가에 적어둘 필요는 없다.

 

 

# Keycloak에 Google IDP 추가

어드민 콘솔 > 원하는 realm 선택 > Identity providers > Google

 

 

Client ID & Secret에 위에서 만든 google oauth client id & secret을 넣어준다.

 

 

끝이다. 이러고 어드민 콘솔에 새로 접속해보면 아래와 같이 구글 로그인 창이 생겨있다.

어드민 콘솔 주소는 아래와 같다.

https://[keycloak host]/admin/[realm 이름]/console
https://keycloak.honglab.com/admin/master/console

 

 

그러나 구글 로그인 시 아래와 같은 에러가 뜬다.

 

 

이는 처음 생성된 유저가 아무 권한이 없어서 그렇다.

 

# Default Role (or Group) 생성

idp를 통해 자동 생성된 유저에게 Default로 Role 또는 Group을 부여할 수 있다.

Realm settings > User registration 탭 에서 확인 가능

 

 

뭐.. 디폴트 권한을 어찌할진 상황에 따라 다르겠지만, read 권한을 부여하고 싶으면 아래처럼

Filter by clients 전환 > view 검색

 

 

에서 찾아보면 쉬울 것이다.

 

끝!

 

 

 

728x90
728x90

댓글