ほぼ自分用メモ。
前提
CognitoにGoogleでサインインするとこまではできる。
GoogleのトークンをCognitoのカスタム属性に入れるなりして参照可能な形にできる。
やりたいこと
https://www.googleapis.com/admin/directory/v1/users/
このAPIを叩いてログインユーザーのGoogleアカウントの情報を引っ張りたい。
(他のGoogle APIでも大体やり方は同じじゃないかと思います)
やりかた
APIの仕様を調べる
目的のAPIを探す。
今回使うのはAdminSDKのAPIなのでここから探します。
Google API Reference
使いたいAPIはこちら。
Users: get
※右側の「Try this API」で欲しい情報を取得できるか試しておくとよい。
このAPIを使用するために必要なスコープを確認する
ちょっと下にスクロールするとこれがあるので、ScopeのURLをメモる。
今回は情報を取得するだけなので__readonly__だけでよい。
GCPでAPIを使えるように設定する
ライブラリからAPIを有効にする
AdminSDKを使うので有効にします。
OAuth同意画面にスコープを追加する
Cognito IDプロバイダーの承認スコープに追記する
API仕様書からメモったスコープのURLをそのままぺたっと貼るだけ。
複数指定する場合は半角スペース区切りで貼っていく。
おわり
あとはトークンを使ってLambdaなり何なりでAPIを叩いて情報を引っ張ってよしなに使うとよい。