작성
·
44
0
안녕하세요
OIDC SSO 관련 질문이 있습니다.
인증서버 에서 A 시스템에 Token을 발급 해주었습니다.
그리고 B시스템에서 인증을 했을 때 , 동일한 사용자 이기 때문에 인증 서버에서는 A시스템에 발급해준 Token를 가지고
사용자를 찾아서 B시스템에 토큰을 발급해 줄 수 있나요 ?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. samydon님,
OIDC SSO(단일 사인온)과 관련한 질문을 주셨군요. 토큰 처리에 대한 내용은 여러 시스템 간 인증을 어떻게 구현할 수 있는지를 이해하는 데 중요한 부분입니다.
OIDC(OpenID Connect)에서 특히 중요하게 고려해야 할 점은 사용자의 상태 유지와 토큰의 사용입니다. 기본적으로 SSO는 사용자가 한 번 로그인하면 여러 시스템에서 인증된 상태를 유지할 수 있게 해주는 것입니다.
토큰의 범위: 토큰은 특정 클라이언트 애플리케이션에 발행되는 것이 일반적입니다. 따라서 A 시스템에서 발급된 토큰을 B 시스템에서도 그대로 사용할 수 있는지 여부는, 주로 토큰의 범위(scope)와 클라이언트 설정에 따라 결정됩니다.
싱글 사인온(Single Sign-On): SSO를 구현하려면, B 시스템도 동일한 인증 서버를 활용하고 사용자 세션을 공유할 수 있도록 설정되어야 합니다. 즉, 같은 인증 서버를 이용하여 A와 B 시스템 모두에 대해 사용자가 동일한 아이덴티티를 사용할 수 있어야 합니다.
인증 서버의 역할: 인증 서버가 A시스템에 발급한 토큰으로 B시스템에서 사용자를 식별하고 새로운 토큰을 발급하는 것은 가능하나, 이는 인증 서버의 설정과 정책에 따라 달라질 수 있습니다. 인증 서버는 이러한 기능을 지원해야 하며, 각 시스템에 대한 클라이언트 크리덴셜(client credentials)이 올바르게 설정되어 있어야 합니다.
다음의 링크에서 유사한 주제에 대한 더 많은 정보를 얻을 수 있습니다:
- OpenID Connect & OAuth 2.0 (Auth0의 문서)
- Spring Security with OAuth2 (Spring 공식 문서)
이와 같은 설정을 통해 SSO를 효과적으로 구현하려면 정확한 프로토콜 이해와 각 시스템 간의 설정 조정이 필요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.