검색 결과 :

×

최신 Drupal 애플리케이션은 중앙 집중식 인증을 위해 OAuth 2.0 ID 공급자를 사용하는 경우가 많습니다. 이러한 접근 방식은 인증을 강화하지만, Drupal 자체 내에서 사용자 세션을 관리하는 방식에는 허점이 생길 수 있습니다.

인증은 ID 공급자에게 위임할 수 있지만 세션 관리는 Drupal 내부에 유지되므로 토큰 유효성과 세션 수명이 분리됩니다.

이 솔루션은 Drupal 내에서 기본적으로 작동하는 일정 수준의 사용자 정의 기능을 제공합니다. 그 결과, 일관된 접근 제어, 보안 취약점 감소, 그리고 OAuth 인증 정책을 정확하게 반영하는 세션 동작을 구현할 수 있습니다.

이 섹션에서는 요구 사항과 구현 프로세스부터 결과까지 모든 것을 살펴보겠습니다.

유스케이스 카드 로고

OAuth 클라이언트 모듈

모듈 다운로드

드루팔 사이트에서 OAuth를 사용하여 인증할 경우, 접근 권한 결정은 OAuth 토큰의 유효 기간에 따라 이루어져야 합니다. 이론적으로는 토큰이 만료되면 접근이 즉시 차단되어야 하지만, 실제로는 항상 그런 것은 아닙니다.

Drupal 세션은 연결된 OAuth 토큰이 만료된 후에도 계속 유지되는 경우가 많습니다. 세션 관리와 토큰 유효성 검사가 별도로 작동하기 때문에 토큰이 무효화될 때 활성 Drupal 세션을 자동으로 종료하는 내장 메커니즘이 없습니다.

  • 이러한 불일치는 접근 제어에 심각한 허점을 초래합니다. 사용자는 의도된 권한 부여 기간을 넘어 접근 권한을 유지할 수 있습니다. 만료된 토큰이 세션 종료를 확실하게 트리거하지 않습니다. 세션 수명과 토큰 수명을 엄격하게 일치시키도록 보장하는 중앙 집중식 강제 조치 지점이 없습니다.
  • 이를 통해 관리자는 다음과 같은 작업을 수행할 수 있습니다.
    • Drupal 세션 유지 시간을 OAuth 토큰 만료 시간과 동기화합니다.
    • 사용하려는 ID 공급자의 정확한 토큰 만료 매개변수를 선택하십시오.
    • 토큰이 만료될 때 Drupal에서 정확히 어떤 일이 발생하는지 결정하세요.
  • 이 설정을 통해 Drupal은 인증과 세션 관리를 별도로 처리하지 않고, 원래대로 함께 작동하게 됩니다.

로그인하면 OAuth ID 공급자가 자체 만료 시간이 있는 액세스 토큰을 제공합니다. 모듈은 토큰에서 만료 값을 가져와 Drupal 세션 지속 시간을 설정하는 데 사용합니다.

  • 동기화를 켜면 다음과 같은 일이 발생합니다.
    • Drupal은 세션 길이를 OAuth 토큰의 유효 기간과 일치시킵니다.
    • 로그인 상태인 동안 토큰이 여전히 유효한지 계속 확인합니다.
    • 토큰이 만료되는 순간, Drupal은 사용자가 설정한 작업을 수행합니다.
  • 관리자로서 몇 가지 옵션이 있습니다.
    • 토큰이 만료되는 즉시 사용자를 로그아웃하도록 선택할 수 있습니다.
    • 또는 자동화를 통해 Drupal이 새로 고침 토큰을 사용하여 토큰을 갱신하도록 시도할 수도 있습니다. 단, 이 방법은 사용하는 ID 공급자에 따라 다를 수 있습니다.
  • 이 모든 것은 자동으로 실행되므로 추가 코드나 외부 스케줄러가 필요하지 않습니다. Drupal이 알아서 처리해 줍니다.
  • OAuth 토큰 유효성과 Drupal 세션 간의 동기화.
  • 오래되었거나 관리되지 않는 사용자 세션을 제거합니다.
  • 접근 제어의 일관성이 향상되었습니다.
  • 만료된 토큰으로 인한 보안 위험이 감소합니다.

토큰 만료 동기화를 통한 세션 처리는 Drupal이 OAuth 토큰의 유효성에 따라 접근 제어, 특히 접근 권한 취소를 시행할 수 있도록 합니다. OAuth 토큰의 핵심은 특정 서비스에 접근하기 위해 반드시 필요한 정보를 보유하는 것입니다. 따라서 토큰이 만료되면 접근 권한 또한 취소되어야 하는 것이 당연합니다.

최대한 빨리 연락드리겠습니다

모형

 당신의 응답을 주셔서 감사합니다. 곧 다시 연락드리겠습니다.

문제가 발생했습니다. 문의사항을 다시 제출해 주세요.

차례

안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT