기본 요건
이 페이지에서는 다음 작업을 이미 완료했다고 가정합니다.
Google Cloud 프로젝트를 만들었습니다.
인증 구성
서비스 계정으로 인증하려면 다음 단계를 따르세요.
다음을
@Api
또는 메서드 주석에 추가합니다.authenticators
매개변수를 주석에 추가하고{EspAuthenticator.class}
값으로 설정합니다.@ApiIssuer
가 포함된issuers
매개변수를 추가합니다.- 서비스 계정 발급자 및 대상으로 설정된
@ApiIssuerAudience
를 포함하는issuerAudiences
매개변수를 추가합니다.
예를 들면 다음과 같습니다.
@Api( name = "echo", version = "v1", authenticators = {EspAuthenticator.class}, issuers = { @ApiIssuer( name = "serviceAccount", issuer = "YOUR_SERVICE_ACCOUNT_EMAIL", jwksUri = "https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL") }, issuerAudiences = { @ApiIssuerAudience(name = "serviceAccount", audiences = "YOUR_AUDIENCE") })
echo
를 API의 이름으로 바꿉니다.v1
을 해당 API 버전으로 바꿉니다.YOUR_SERVICE_ACCOUNT_EMAIL
을 서비스 계정 이메일로 바꿉니다.YOUR_AUDIENCE
를 호출 서비스에서 전송된aud
필드 값으로 바꿉니다.
API 구현 코드에서
Users
를 가져옵니다.import com.google.api.server.spi.auth.common.User;
인증이 적합한지 확인하려는 각 API 메서드에서
User
가 유효한지 확인합니다. 이 샘플 메서드 정의에 표시된 것처럼 유효하지 않으면 예외가 발생합니다.@ApiMethod(httpMethod = ApiMethod.HttpMethod.GET) public Email getUserEmail(User user) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Invalid credentials"); } Email response = new Email(); response.setEmail(user.getEmail()); return response; }
API를 배포합니다. 클라이언트를 새로 추가할 때마다 API를 다시 배포해야 합니다.