이메일용 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-notesexampletoken 매개변수를 검증하고 토큰과 연결된 사용자를 찾습니다.

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