3. Postman で InitiateAuth

確認まで行ったユーザで IntiateAuth を使ってユーザ認証を行います。

ユーザ認証 (InitiateAuth)

をクリックして、新しいタブを開きます。

HTTP メソッドのドロップダウンリストから [POST] を選択して、以下の URL を入力します。

https://cognito-idp.ap-northeast-1.amazonaws.com/

リクエスト部のタブ [Headers] をクリックして、以下の 2 つを入力します。

ヘッダ項目
Content-Type application/x-amz-json-1.1
X-Amz-Target AWSCognitoIdentityProviderService.InitiateAuth

リクエスト部のタブ [Body] をクリックして、入力形式を指定するドロップダウンリストから [raw] と [JSON] を選択します。

テキストボックスには、以下の JSON の < > 部分を書き換えて入力します。<app-client-id> は 2 章で作成した Cognito アプリクライアントの ID です。Public クライアントを使用します。<mail-address><password> には先程登録したユーザ情報を入力してください。ユーザ情報が思い出せない場合は、最初に使ったタブを開き直して確認することができます。

{
    "ClientId": "<app-client-id>",
    "AuthFlow": "USER_PASSWORD_AUTH",
    "AuthParameters":
    {
        "USERNAME": "<mail-address>",
        "PASSWORD": "<password>"
    }
}

[Send] をクリックして、API をリクエストします。

API の呼び出し結果が表示されます。この API では結果として、トークンが得られます。

得られたトークンのうち、AccessTokenIdTokenjwt.io のサイトでデコードして、内容を確認します。

アクセストークン確認

アクセストークンの内容を確認します。InitiateAuth の呼び出し結果から AccessToken の値をコピーします。” は含めず、” と “ に囲まれた文字列をコピーします。

https://jwt.io/ をブラウザで開いてください。

以下のような入力画面が表示されるまで、下にスクロールしてください。最初はサンプルが入力されています。

[Encoded] にコピーした AccessToken の値を貼り付けます。[Decoded] の [PAYLOAD] にトークンの中身が表示されます。[username] は Cognito 上のユーザ名です。今回はユーザからはメールアドレスをユーザ名のように扱う前提で、ユーザ名を指定していないため、ランダムな文字列が生成されて割り当てられています。ユーザにとってユーザ名であるメールアドレスはアクセストークンに含まれていません。また、 [Encoded] にある貼り付けた文字列が 3 色で塗り分けられており、[Decoded] のどこの部分かを表しています。

ID トークン確認

InitiateAuth の呼び出し結果から IdToken の値をコピーします。こちらも “ は含めず、” と “ に囲まれた文字列をコピーします。

https://jwt.io/ で、[Encoded] にコピーした IdToken の値を貼り付けます。[Decoded] の [PAYLOAD] にトークンの中身が表示されます。アクセストークンと同じ内容も含まれていますが、いくつか異なっており、特にメールアドレスなどユーザの属性が含まれています。