이번 강의에서는
클라이언트와 실사용자 정보를 생성하여
authorization code grant type flow를
사용해 보도록 하겠습니다
지금 저는 Keycloak의
관리자 콘솔에 접속해 있습니다
Clients를 클릭한 다음
Create client를 클릭합니다
그리고 나면 이번에 생성하고 싶은
클라이언트의 ID는 eazybankclient입니다
이 클라이언트 ID를 줄 거고
클라이언트 유형은 OpenID로 합니다
Next를 클릭합니다
그러면 이 페이지에서는
Client authentication을 켜야 합니다
왜냐면 먼저 클라이언트 애플리케이션은
액세스 토큰을 얻기 위해서는 정체를 알려야 하기 때문입니다
그러므로 이 설정은 반드시 켜야 합니다
또한, 인증 flow 측면에서도
저희는 표준 flow만을 고려하고 싶은데
이 물음표를 클릭해 보면
표준은 authorization code flow이기 때문입니다
그러므로 Client authentication은 켜주어야 하며
이건 비활성화 하겠습니다
resource owner password credentials grant는 원하지 않기 때문입니다
그러면 Save 버튼을 누르고
이 페이지에서는 Credentials 탭을 클릭해 보면
클라이언트 secret을 볼 수 있습니다
Settings로 돌아와서 이 페이지에서는
아래로 스크롤하면 Valid redirect URIs가 있습니다
여기서 저희는
URI 정보를 입력할 수 있는데, 이는 인증 서버가
인증에 성공한 실사용자를 리다이렉트 하는 데 필요합니다
더미 URI를 입력해 놓겠습니다
지금은 클라이언트 UI 애플리케이션이 없기 때문입니다
그러므로 일단은 아무 포트 번호와
아무 path를 부여합니다
실제로는 제대로 된 UI 애플리케이션
URI을 주어 실사용자가
인증된 후 리다이렉트될 수 있도록 해야 합니다
이해되셨길 바랍니다
이런 정보를 모두 정의한 후에는
Save 버튼을 누릅니다
이제 성공적으로 클라이언트를 생성했으니
이를 authorization code grant type flow를
테스트해 보는 데 사용하겠습니다
다음 단계로는
실사용자 정보도 생성해야 합니다
왜냐하면 실사용자가 없이는
authorization code grant type flow는 가능하지 않기 때문이죠
아까와 같이
Users 탭을 클릭합니다
그리고 Create new user 버튼을 클릭합니다
제가 생성하고 싶은 사용자 Username은
happy@example.com입니다
이메일도 마찬가지로 happy@example.com을 입력합니다
이 이메일은 인증이 되었으며
저는 사용자의 이름은 Happy
성은 Example로 할게요
실사용자의 이름과
성을 입력해 주었습니다
이 유저에 대해 Enabled를 켠 다음
Create를 클릭합니다
생성이 되었으니 Credentials로 가서
여기서 비밀번호를 설정합니다
비밀번호는 12345로 설정합니다.
비밀번호 확인에도 똑같이 입력합니다
주의할 점은 여기 있는 Temporary를 꺼야
Keycloak에서 첫 로그인 후
실사용자가 비밀번호를 바꾸도록 하지 않는다는 점입니다
비밀번호를 저장합니다
이걸로 happy@example.com이라는 이름의
실사용자를 성공적으로 생성했습니다
이번에는 사용자를 수동으로
Keycloak 서버에 관리자로 로그인하여 생성했습니다
실제로는 REST API를 제공하여
클라이언트 애플리케이션이 그것을 이용해 사용자를 생성합니다
REST API를 이용하면
언제든지 코드나 UI 애플리케이션을 이용해 호출이 가능합니다
그러면 사용자 생성 과정은 항상 자동화가 되죠
그렇게 하지 않고
Keycloak 관리자 계정 하나로
계정 정보를 수동으로 모두 생성하는 건 아주 힘들고
보안 면에서 전혀 권장되지 않는 방법이기도 합니다
이걸로 Keycloak 인증 서버 내부에
authorization code grant flow에 이용할 수 있는
클라이언트와 실사용자를 성공적으로 생성했습니다
다음 강의에서는
이 클라이언트 정보와
사용자 정보를 활용하여
authorization code grant type flow를 테스트해 보겠습니다
들어주셔서 감사하며 다음 강의에서 뵙겠습니다. 수고하셨습니다