OAuth 2.0

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • OAuth 2.0을 사용하면 사용자가 각 자원 요청과 함께 로그인 자격 증명을 입력하는 대신 토큰을 얻어 외부 클라이언트를 통해 인스턴스 자원에 액세스할 수 있습니다.

    OAuth 통합을 관리하려면 security_admin 역할이 있어야 합니다. 다음 시나리오에 대해 OAuth 2.0을 구성합니다.

    • OAuth 외부 클라이언트 시나리오 (인바운드): 인스턴스는 타사 클라이언트가 인스턴스에서 데이터를 끌어올 수 있는 엔드포인트를 제공합니다.
    • OAuth 제공자 시나리오 (아웃바운드): 인스턴스가 외부 공급업체 제공자로부터 데이터를 가져옵니다.
    주:
    토큰 게시물을 가져오려면 처음으로 사용자 인증을 해야 하며, 토큰이 만료되기 전에 사용자 계정을 사용하여 인증할 필요가 없습니다.

    단순 보안과 높은 보안 프레임워크 모두 OAuth 2.0을 지원합니다. 높은 보안을 권장합니다. 높은 보안이 이미 활성화된 버전과 높은 보안을 활성화하는 방법에 대한 자세한 내용은 을 참조하십시오.

    OAuth 2.0 구현의 핵심 개념

    개념 설명
    자원 소유자 보호된 자원에 대한 액세스 권한을 부여할 수 있는 엔터티입니다. 사람인 자원 소유자를 최종 사용자라고 합니다. 자원 소유자는 항상 사용자 계정입니다.
    클라이언트 자원 소유자의 권한 부여를 받아 자원 소유자를 대신하여 보호된 자원을 요청하는 애플리케이션입니다.
    자원 서버 보호된 자원을 호스팅하는 서버로, 보호된 자원에 대한 요청을 수락하고 응답할 수 있습니다.
    권한 부여 서버 자원 소유자를 성공적으로 인증하고 권한 부여를 얻은 후 클라이언트에 액세스 토큰을 발급하는 서버입니다.
    인증 요청 클라이언트가 보호된 리소스에 액세스하는 데 필요한 권한입니다. 권한 부여 요청은 항상 리소스 소유자를 대신하여 작동하는 클라이언트의 ID와 요청에 권한을 부여하는 자격 증명을 포함하는 HTTP POST 메시지입니다.
    권한 부여 자원에 액세스할 수 있는 자원 소유자의 권한 부여를 나타내는 자격 증명입니다. 권한 부여 권한은 사용자 로그인 자격 증명 또는 새로 고침 토큰입니다.
    접근 토큰 클라이언트가 보호된 리소스에 액세스하는 데 사용하는 보안 문자열입니다. 인스턴스는 유효한 권한 부여 권한이 있는 클라이언트에 액세스 토큰을 발급합니다. 각 액세스 토큰에는 특정 범위, 수명 및 기타 속성이 있습니다.

    기본적으로 인스턴스는 인스턴스가 OAuth 제공자인 시나리오에서 30분 수명의 액세스 토큰을 발급합니다. 타사 토큰의 경우 30일입니다.

    새로 고침 토큰 클라이언트가 추가 사용자 권한 부여 없이 새 액세스 토큰을 얻기 위해 사용하는 자격 증명입니다. 인스턴스는 액세스 토큰을 가질 수 있는 첫 번째 권한이 부여될 때 클라이언트에 새로 고침 토큰을 발행합니다.

    기본적으로 인스턴스는 인스턴스가 OAuth 제공자인 시나리오에서 수명이 100일인 새로 고침 토큰을 발급합니다. 제3자 토큰의 경우 365일입니다.

    자체 서명된 인증서 Now Platform 자체 서명된 인증서를 지원하지 않습니다. OAuth 클라이언트는 인증서 신뢰 저장소를 활용하지 않거나 자체 서명된 인증서를 통합하는 OAuth 엔드포인트에 대한 연결을 허용하지 않습니다.
    사용자 에이전트 클라이언트 애플리케이션(주로 웹 사이트)에 대한 액세스 권한을 위임하는 사용자입니다. 액세스 권한을 통해 클라이언트 애플리케이션 또는 웹 사이트는 사용자에게 액세스 권한이 있는 인스턴스의 데이터에 액세스할 수 있습니다. 이 시나리오에서는 사용자 에이전트가 사용됩니다.

    OAuth 권한 유형

    권한 부여 유형은 클라이언트가 액세스 토큰을 얻는 방법입니다. 다음과 같은 권한 부여 유형이 지원됩니다.
    • 권한 부여 코드: 소비자는 먼저 권한 부여 코드를 받은 다음 이를 사용하여 액세스 토큰을 가져옵니다. OAuth 프로파일을 지정하고 이 권한 부여 유형을 지정할 수 있습니다. 인증 코드를 사용하는 프로세스를 인증 코드 플로우 또는 인증 코드 플로우라고도 합니다.
    • 리소스 소유자 암호 자격 증명: 리소스 소비자에게 액세스 토큰을 가져올 수 있는 사용자 자격 증명이 이미 있습니다. 이 프로세스를 암호 플로우라고도 합니다.
    • 클라이언트 자격 증명: 자원의 소비자는 애플리케이션 레지스트리에 이미 구성된 클라이언트 ID와 클라이언트 비밀을 사용합니다.

    인증 자격 증명 스토리지

    OAuth 클라이언트 암호는 KMF로 password2 암호화된 유형 필드로 저장됩니다. 수신 엔드포인트 요청을 확인하는 데 사용되는 사용자 암호는 유형 필드(SHA 256)의 password 사용자 테이블에 해시 값으로 저장됩니다. 이 암호화에 대한 자세한 내용은 KMF를 사용한 Password2 암호화 섹션을 참조하세요