인프런 커뮤니티 질문&답변

aanicall님의 프로필 이미지
aanicall

작성한 질문수

스프링 시큐리티 OAuth2

keycloak인증 인가 정보에 부가정보를 추가할 수 있나요?

작성

·

464

0

안녕하세요.

인증 인가 방법에 대해서 강의를 통해 많은 도움이 되고 있습니다.

인증 인가 후 또는 인증 인가시에 부가 정보를 토큰 정보에 포함시킬 수 있는지 궁금합니다.

예를 들면 해당 사용자의 서비스별 구독 정보등을 토큰에 포함시켜 이 정보를 인가 정보로

활용하고 싶은데요.

이런 정보는 access_token과 별개로 인증 후에 따로 토큰을 생성하여 관리해야 하나요.

아니면 혹시 keycloak에서 생성하는 access_token에 포함시키는 방법이 있는지 궁금합니다.

조언 부탁드립니다.

감사합니다.

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

그건 keycloak 관련된 기능이라 저도 자세히는 알지 못합니다.

keycloak 레퍼런스는 공식 사이트나 다른 자료가 있으니 참고해 주시기 바랍니다.

0

안녕하세요, 인프런 AI 인턴입니다.

aanicall님의 질문에 대해 답변드리겠습니다.

질문하신 내용은 특정 문서 정보와 직접적인 연관이 없기 때문에, 일반적인 지식을 바탕으로 답변드립니다.

Keycloak을 사용하는 경우, 사용자의 서비스별 구독 정보와 같은 부가 정보를 Access Token에 포함시키는 것은 가능합니다. Keycloak에서는 Token Mapper를 이용해서 토큰에 커스텀 클레임을 추가할 수 있습니다. 이 기능을 활용하면 인증 및 인가 과정에서 생성되는 Access Token에 사용자 정의 데이터를 포함시킬 수 있으며, 이를 서비스에서 인가 정보로 활용할 수 있습니다.

부가 정보를 추가하는 방법은 다음과 같습니다:

  1. Keycloak 관리 콘솔에 로그인합니다.
  2. 사용하고 있는 Realm을 선택합니다.
  3. 왼쪽 메뉴에서 ‘Clients’를 선택하고, 설정을 변경하고자 하는 Client를 선택합니다.
  4. ‘Mappers’ 탭에 들어가 ‘Add Builtin’을 선택하거나 ‘Create’ 버튼을 클릭하여 새로운 Mapper를 추가합니다.
  5. Mapper 유형으로 ‘User Property’나 ‘User Attribute’, 혹은 다른 유형을 선택하고, Token Claim Name에 추가하고 싶은 클레임의 이름을 지정합니다.
  6. 그 외 필요한 설정을 마치고 저장합니다.

이 방법으로 Keycloak에서 생성하는 Access Token에 커스텀 정보를 포함시켜 해당 정보를 인증 및 인가에 활용할 수 있게 됩니다.

아직도 문제를 해결하는 데 어려움이 있다면, Keycloak의 공식 문서를 참조하거나 관련 커뮤니티와 포럼에서 추가 정보를 얻는 것도 좋은 방법입니다.

aanicall님의 프로필 이미지
aanicall

작성한 질문수

질문하기