ユーザーを動的にリダイレクトする


ユーザーを動的にリダイレクトする

Login with Amazonを使ってログインしたユーザーは、開発者がアプリの登録時に [許可された戻り先URL] で指定した静的ページにリダイレクトされます。認証後にそのページ以外のURLにユーザーを動的にリダイレクトするには、認可リクエストを行う際にstateパラメーターに希望のリダイレクトURLを生成するための値を入力します。

たとえば、認証前に表示されていたアイテムの概要ページに最終的にユーザーをリダイレクトする場合は、そのページのURL(一意の部分)をリクエストのstateパラメーターに入力します。

認証後、Login with Amazonは、リクエストで指定したのと同じstateパラメーター値を含む認可レスポンスをクライアントに返します。ユーザーは、[許可された戻り先URL] で指定されたページにリダイレクトされます。stateパラメーター値を使用して、最終的にユーザーに表示するページのURLを動的に生成します。ユーザーはすぐに静的ページからそのURLにリダイレクトされます。

動的URLに機密性の高い情報が含まれる場合は、暗号化し、base64でエンコードしてから、stateパラメーターに割り当てることをお勧めします。情報が認可レスポンスで戻されたら、復号して動的URLを生成します。

これに加えて、リダイレクト認証を使用してクロスサイトリクエストフォージェリ攻撃からユーザーを保護することを強くお勧めします。このためには、各認証リクエストで一意の値(CSRFトークン)をstateパラメーターに割り当ててから、認証レスポンスで確認します。この一意のCSRFトークンとリダイレクトURLを連結してstateパラメーターに割り当てることを検討してください。例:<csrf-token> + "" + <dynamic-url>

CSRFトークン作成の詳細については、クロスサイトリクエストフォージェリを参照してください。