일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 데이터베이스
- 도커
- 백준
- 클라우드
- mysql on docker
- C언어
- 코딩
- 푸시푸시
- 도커 시작하기
- 스트림셋
- 알고리즘
- c++
- java
- 정보처리기사
- c
- mysql docker
- ansible install
- 스트림셋이란?
- nvidia docker
- 도커 elk
- 도커 mysql
- streamsets 강의
- elk stack
- 앤서블 설치
- 데이트
- python
- MySQL
- 파이썬
- docker
- Today
- Total
리그캣의 개발놀이터
[sso / keycloak] keycloak 을 통한 google sso login 본문
google 로그인을 웹 앱에 통합
Google 로그인은 OAuth2.0 및 Token을 관리하여 Google API와의 통합을 단순화한다. 사용자는 항상 응용 프로그램에 대한 액세스를 언제든지 취소가능하다.
인증 자격 증명 생성
OAuth2.0을 사용하여 Google API에 액세스하는 모든 애플리케이션에는 Google의 OAuth2.0 서버로 식별하는 인증자격증명이 있어야한다. 프로젝트의 자격증명을 만드는 방법을 사용한다.
Credential page로 이동
Create credentials -> OAuth client ID
Web application application type 선택
OAuth2.0 client Name 설정 후 Create 클릭
다음과 같이 인증자격 증명이 생성된다.
secret key와 client id를 기억해두도록 한다.
keycloak 접근 (admin/admin)
설치 방법을 참고하여(README.md) keycloak 설치
new Realm 생성
realm setting (enabled -> on)
identity provider 생성
social select를 "Google"로 선택하고
구글 인증 자격 증명 생성시 발급받았던 clientID, Client Secret을 사용하여 작성해준다.
redirect url 만들기
로그인시 redirect할 url이 필요하였고
docker container를 이용하여 간단한 nginx web을 띄어보았다.
$ docker run --name some-nginx -d -p 8081:80 nginx
localhost:8081로 접근하면 다음과 같은 화면이 보여진다.
Create Client Application
new Client를 선택하고 나는 ClientID를 googledemo로 지정해주었다.
enabled -> on으로 해주고
client protocol을 openid-connect로 해준다.
valid redirect URLs를 위에서 구현한 container url(sample nginx web)로 해준다.
IDP 로그인 요청
아래와 같이 설정해준다.
http://{keycloakip}:{keycloakport}/auth/realms/master/protocol/openid-connect/auth?response_type={response_type}&client_id={clientid}&state={randomvalue}
위의 링크로 접근하면(이때 로그아웃을 먼저 해주어야한다.)
다음과 같은 화면을 확인가능하다
우측을 보면 google 로그인이 생성되었고 로그인을 해보자.
구글로 로그인을 하게 되면 redirect url로 지정한 페이지를 최종적으로 확인 가능하다.
ref
'인프라 > 인프라관리' 카테고리의 다른 글
ubuntu18.04에 nvidia-docker 2.0 설치하기 (0) | 2020.07.27 |
---|---|
keycloak 이란?? (1) | 2020.07.12 |
지루한 bash shell은 그만 zsh , oh my zsh 설치하기 with ubuntu (1) | 2020.07.07 |
[linux] ssh 비밀번호 없이 접속 / 공개키 만들기 (0) | 2020.07.07 |
virtualbox cli command 목록 (0) | 2020.06.20 |