OAuth 프로토콜을 사용하는 Drupal Headless SSO
회사 개요
miniOrange의 OAuth 기반 헤드리스 SSO 솔루션은 OAuth 프로토콜을 사용하여 Drupal 백엔드와 OAuth 서버를 효율적으로 연결하여 인증합니다. SSO 프로세스가 완료되면 모듈은 로그인한 사용자를 위한 JSON 웹 토큰(JWT)을 생성하여 프런트엔드 사이트로 전송합니다. (선택 사항: 이 토큰은 Drupal API를 추가로 검증하는 데 사용할 수 있습니다.) 이 가이드에서는 백엔드와 프런트엔드 모두에서 헤드리스 SSO가 구현되는 핵심적인 방법을 설명합니다.
먼저 백엔드부터 시작해 보겠습니다.사전 조건
- miniOrange OAuth 클라이언트 모듈 :이 모듈 Drupal 사이트와 OAuth/OIDC 공급자 간 SSO를 활성화합니다.
- REST & JSON API 인증 모듈 : SSO가 수행된 후, 모듈 JWT를 생성하고 이 토큰을 프런트엔드 애플리케이션으로 보내는 데 도움이 됩니다. (선택 사항: 추가 Drupal API를 인증하려면 API 요청과 함께 헤더에 동일한 JWT를 전달하면 REST & JSON API 인증 모듈이 해당 JWT를 검증합니다.)
백엔드 구성
- miniOrange OAuth 클라이언트 모듈: 이 수행 설치 가이드 Drupal 사이트와 원하는 OAuth/OIDC 공급자 간의 연결을 설정합니다.
- REST & JSON API 인증 모듈:
- JWT를 사용하여 Drupal API를 인증하려면 다음을 구성하세요. JWT 인증 모듈의 메서드입니다. 이것을 따르세요 설정 가이드.
- 프런트엔드 애플리케이션의 리디렉션 URL을 구성합니다.
- 로 이동 고급 설정 REST & JSON API 인증 모듈의 탭입니다.
- . 헤드리스 SSO를 위한 토큰 엔드포인트 구성 자세한 내용은 프런트엔드 애플리케이션의 엔드포인트를 입력합니다. 브라우저는 코드 매개변수를 사용하여 Single Sign-On(SSO) 프로세스 후에 리디렉션합니다. 그 후, 토큰 엔드포인트 구성 저장 버튼을 클릭합니다.
- 로그인 흐름:
- 사용자의 프런트엔드 애플리케이션에서 로그인을 시작합니다. (URL 사용) {drupal-base-url}/mo로그인)
- 사용자는 구성된 서버로 리디렉션됩니다.
- 사용자의 자격 증명을 입력하여 인증하세요.
- 인증이 성공적으로 완료되면 사용자는 URL에 쿼리 매개변수로 코드가 포함된 상태로 프런트엔드로 다시 리디렉션됩니다.
- 이전 단계에서 얻은 코드를 사용하여 Drupal의 토큰 엔드포인트에 요청을 합니다. 이를 위해 아래에 언급된 단계를 따르세요:-
- 토큰 엔드포인트를 찾으세요 헤드리스 SSO를 위한 토큰 엔드포인트 구성 자세한 내용. 이에 대해서는 다음 이미지를 참조하세요.
- 수신된 코드로 POST 요청을 만드는 예:
- 사용자가 프런트엔드에서 코드(received_code)를 받았다고 가정해 보겠습니다.
- 이제 이 코드를 사용하여 POST 요청을 만들려면 아래 형식을 사용하세요.
프런트엔드 장면 발견
이 섹션에서는 사용자가 프런트엔드 측에서 수행해야 하는 모든 작업을 설명합니다.
의 시작하자:
HTTP: POST https://{drupal_base_url}/getToken 코드=(수신된 코드)
참고: 헤더에 JWT 토큰이 포함된 API 요청 형식을 확인하려면 이 설정 가이드를 참조하세요.
