강의

멘토링

로드맵

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

창업하고싶어요님의 프로필 이미지
창업하고싶어요

작성한 질문수

장애를 허용하는 견고한 시스템 만들기

보상 트랜잭션 (Compensating Transaction) 패턴

분산 시스템 인증/인가 관련 질문 ..

작성

·

7

0

안녕하세요. 강의 잘 들었습니다.
분산 시스템이 맞는지는 모르겠지만,,
다른 회사의 API들을 여러개 사용할때에 궁금증이 있어서 질문 드립니다.

문제 상황은 아래와 같습니다.

우리 쪽에서는 이미 사용자가 토큰 기반으로 인증된 상태이며,
이 사용자의 요청을 대신해 외부(회사1, 회사2)의 API를 호출해야 하는 상황입니다.

또한, 사용자가 버튼을 눌렀을 때 새 브라우저 창을 띄워 회사2의 웹 애플리케이션으로 이동해야 하는데,
이때 로그인 과정을 생략하고 자동으로 접속(SSO) 되도록 만들고 싶습니다.


질문

1⃣API 인증 전파 관련

  • 우리 서버가 회사1·2 서버로 요청을 보낼 때,
    상대 서버에서는 “이 요청이 실제 인증된 사용자로부터 온 것”임을 어떻게 검증하는 게 일반적인가요?

     

2⃣브라우저 SSO 관련

  • 새 탭을 열어 회사2 웹 서비스로 이동 시,
    재로그인 없이 자동으로 인증(Single Sign-On) 되게 하려면 어떤 방식이 많이 사용되나요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 창업하고싶어요님.

분산 시스템에서 인증/인가와 관련된 질문을 주셨군요. 외부 API 연동 및 SSO에 대한 궁금점을 해결하기 위한 기존의 유사한 답변을 찾아 제공해 드리겠습니다.

관련 질문 및 답변

  1. SSO(Single Sign-On) 관련하여 설정 방법

    • SSO를 구현할 때, SAML, OAuth, 또는 OpenID Connect 같은 프로토콜을 사용할 수 있습니다. 특히, OAuth 2.0은 RESTful API와 통합된 웹 애플리케이션에 많이 사용됩니다. 이 답변은 SSO 설정 시 고려해야 할 요소들에 대해 설명합니다.
  2. API 인증과 전파에 관한 접근 방법

    • API 인증을 전파할 때, JWT(JSON Web Token) 또는 OAuth 토큰을 사용하여 사용자 인증을 전파하는 방법을 설명합니다. 이 방식은 분산 시스템에서 각 서비스가 독립적으로 사용자 정보를 검증할 수 있도록 해줍니다.

요약 정보:

1⃣ API 인증 전파 관련:

  • JWT (JSON Web Token): 서버의 인증이 필요한 API 호출 시, 인증된 사용자를 대표해 JWT를 생성하고 전달합니다. 받는 쪽에서는 이 토큰을 분석하여 유효성 검사를 합니다.
  • OAuth 2.0: 사용자를 대신하여 API를 호출할 때, OAuth 토큰을 사용하여 사용자의 권한 범위 내에서 요청이 수행되도록 보장합니다.

2⃣ 브라우저 SSO 관련:

  • SAML (Security Assertion Markup Language): 주로 엔터프라이즈 환경에서 사용되며, 웹 브라우저 기반의 SSO를 구현하기에 적합합니다.
  • OpenID Connect: OAuth 2.0을 기반으로 하는 프로토콜로, 웹 및 모바일 환경에서 SSO를 구현하는데 많이 사용됩니다.

이 외에도 각 회사의 API 문서 및 SSO 솔루션의 가이드를 참조하는 것이 구현 시 구체적인 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

창업하고싶어요님의 프로필 이미지
창업하고싶어요

작성한 질문수

질문하기