서비스 계정을 사용하여 인증

기본 요건

이 페이지에서는 다음 작업을 이미 완료했다고 가정합니다.

인증 구성

서비스 계정으로 인증하려면 다음 단계를 따르세요.

  1. API 클래스에 App Engine Endpoints API를 가져옵니다.

    import endpoints
    
  2. API 데코레이터에 서비스 계정의 발급기관 객체를 추가합니다. 예를 들면 다음과 같습니다.

    @endpoints.api(
        name='echo',
        version='v1',
        issuers={'serviceAccount': endpoints.Issuer(
            'YOUR_SERVICE_ACCOUNT_EMAIL',
            'https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL')},
        audiences={'serviceAccount': ['YOUR_AUDIENCE']})
    
    • echo를 API의 이름으로 바꿉니다.
    • v1을 해당 API 버전으로 바꿉니다.
    • YOUR_SERVICE_ACCOUNT_EMAIL을 서비스 계정 이메일로 바꿉니다.
    • YOUR_AUDIENCE를 호출 서비스에서 전송된 aud 필드 값으로 바꿉니다.
  3. 인증이 적합한지 확인하려는 각 API 메서드에서 User가 유효한지 확인합니다. 이 샘플 메서드 정의에 표시된 것처럼 유효하지 않으면 401 오류를 일으킵니다.

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. API를 배포합니다. 클라이언트를 새로 추가할 때마다 API를 다시 배포해야 합니다.