이메일용 AMP에서 요청 인증

맞춤설정된 동적 이메일 콘텐츠를 사용하려면 사용자 인증이 필요한 경우가 많습니다. 하지만 사용자 데이터를 보호하기 위해 Gmail 내의 AMP 이메일 내에서 발생하는 모든 HTTP 요청은 프록시되고 쿠키가 제거됩니다.

AMP 이메일에서 전송한 요청을 인증하기 위해 액세스 토큰을 사용할 수 있습니다.

액세스 토큰

액세스 토큰을 사용하여 사용자를 인증할 수 있습니다. 액세스 토큰은 이메일 발신자가 제공하고 확인합니다. 발신자는 토큰을 사용하여 AMP 이메일에 액세스할 수 있는 사람만 이메일에 포함된 요청을 실행할 수 있도록 합니다. 액세스 토큰은 암호화 방식으로 안전하고 시간 및 범위가 제한되어야 합니다. 요청 URL에 포함되어 있습니다.

이 예시에서는 <amp-list>를 사용하여 인증된 데이터를 표시하는 방법을 보여줍니다.

<amp-list src="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN"
  height="300">
  <template type="amp-mustache">
    ...
  </template>
</amp-list>

<amp-form>를 사용할 때도 마찬가지로 액세스 토큰을 action-xhr URL에 배치합니다.

<form action-xhr="https://example.com/endpoint?token=REPLACE_WITH_YOUR_ACCESS_TOKEN" method="post">
  <input type="text" name="data">
  <input type="submit" value="Send">
</form>

예시

다음 예시에서는 로그인한 사용자가 계정에 메모를 추가하고 나중에 확인할 수 있는 가상의 메모 작성 서비스를 고려합니다. 이 서비스는 jane@example.com 사용자에게 이전에 작성한 메모 목록이 포함된 이메일을 보내려고 합니다. 현재 사용자의 메모 목록은 엔드포인트 https://example.com/personal-notes에서 JSON 형식으로 제공됩니다.

이메일을 보내기 전에 서비스는 jane@example.com: A3a4roX9x에 대해 암호화 방식으로 안전한 제한적 사용 액세스 토큰을 생성합니다. 액세스 토큰은 URL 쿼리 내 필드 이름 exampletoken에 포함됩니다.

<amp-list src="https://example.com/personal-notes?exampletoken=A3a4roX9x" height="300">
  <template type="amp-mustache">
    <p>{{note}}</p>
  </template>
</amp-list>

https://example.com/personal-notes 엔드포인트는 exampletoken 매개변수의 유효성을 검사하고 토큰과 연결된 사용자를 찾습니다.

자세한 내용은 사용이 제한된 액세스 토큰을 참조하세요.