☁️
GoogleAPI OAuth2.0の簡単なメモ
はじめに
GCPのOAuth2.0の流れを細かいことは抜きに簡単にまとめました。OAuth2.0クライアントIDは作成しているものとして話を進めていきます。
認証コードの取得
以下のURLにアクセスし適当なアカウントを選択する。
https://accounts.google.com/o/oauth2/v2/auth?scope=[スコープ]&
response_type=code&redirect_uri=[リダイレクトuri]&
client_id=[クライアントID]&access_type=offline
アカウント選択後画面が遷移するのでURLのcode=xxxxxxxxx部分を確認する(認証コード)。
アクセストークンとリフレッシュトークンの取得
先ほど取得したauthcodeを用いてアクセストークンとリフレッシュトークンの取得を行う。
curl -XPOST https://www.googleapis.com/oauth2/v4/token --data \
"code=[認証コード]&redirect_uri=[リダイレクトURL]&\
client_id=[クライアントID]&client_secret=[クライアントシークレット]&\
scope=&grant_type=authorization_code"
{
"access_token": [アクセストークン],
"expires_in": 3600,
"refresh_token": [リフレッシュトークン],
"scope": [スコープ],
"token_type": "Bearer"
}
にアクセスし連携を解除すると初期状態に戻せる。
アクセストークンのリフレッシュ
リフレッシュトークンを用いて、アクセストークンのリフレッシュを行う。
curl -XPOST https://www.googleapis.com/oauth2/v4/token --data \
"client_secret=[クライアントシークレット]&\
grant_type=refresh_token&\
refresh_token=[リフレッシュトークン]&\
client_id=[クライアントID]"
{
"access_token":[アクセストークン],
"expires_in": 3599,
"scope": [スコープ],
"token_type": "Bearer"
}
参考
フィシルコムのテックブログです。マーケティングSaaSを開発しています。 マイクロサービス・AWS・NextJS・Golang・GraphQLに関する発信が多めです。 カジュアル面談はこちら(ficilcom.notion.site/bbceed45c3e8471691ee4076250cd4b1)から
Discussion