iOS へのプッシュ通知で使う AWS SNS の認証トークンを設定する
iOS には AWS SNS を使ってプッシュ通知を送ることができます。SNS で使える認証方法には、トークンベース認証と証明書ベース認証の2種類あり、本記事は、トークンベース認証の設定方法について記載します。
前置き
トークンベース認証のメリットには、通信速度の向上と運用負荷の軽減があり、公式では以下のように説明されています。
トークンベース認証は、Amazon SNS と Apple プッシュ通知サービス (APN) 間のステートレス通信を提供します。ステートレス通信は、APN で証明書の検索が必要ないため証明書ベースに比べ、より速く通信できます。
p12 証明書を使用していた際は、年に1回、証明書とエンドポイントを更新する必要がありました。.p8 キーファイルを使用することで、年に1回の更新が不要となり、運用上の負担を軽減することができます。
Amazon SNS で APN モバイルプッシュ通知のトークンベース認証に対応
.p8 は PKCS#8 で使われる拡張子です。
- Registers application/pkcs8 media type and .p8 file extension.
ちなみに .p12 については、ここで簡単に書いています。
トークンベース認証の設定
SNS に関する設定の全体像は「Apple 認証方法」に書いてあるので、このうちトークンベース認証について詳しく書きます。
以下は SNS のプラットフォームアプリケーションの作成画面の一部です。基本的には①から⑥の項目を Apple developer account と照らし合わせながら転記します。
①
Token を選択します。
②
Apple developer account からダウンロードした .p8 ファイルを選択します。info にも記載されていますが、 .p8 ファイルは認証キーを生成したときに限りダウンロードすることができます。
認証キーの生成方法についてはこちらをご覧ください。
③
②で .p8 ファイルを選択した場合は省略可能です。
④
Apple developer account の Certificates, IDs & Profiles
を選択します。続けて Keys
セクションを選択し、 View Key Details
セクションの項目 Key ID
に記載されている10桁の文字列を記入します。
⑤
Apple developer account の Membership details
セクションに記載されている10桁の Team ID
を記入します。
⑥
Apple developer account の Certificates, IDs & Profiles
を選択します。続けて Identifiers
セクションを選択し、対象アプリの IDENTIFIER
を記入します。
Discussion