troushoo

Fiddler を用いて手動で Google の OAuth 2.0 システムのアクセストークン、ID トークンを取得

Fiddler を用いて、手動で Google の OAuth 2.0 システムのアクセストークン、並びに、ID トークンを取得する方法を紹介します。
大きく分けて二つの手順をとります。

1. Google API Console で、OAuth 2.0 クライアントを作成
2. Fiddler を用いて、アクセストークン、ID トークンを取得

1. Google API Console で、OAuth 2.0 クライアントを作成
1.1. Google API Console に移動します。

1.2. 「認証情報」→「認証情報を作成」をクリックします。


1.3. 「OAuth クライアント ID」をクリックします。


1.4. 「ウェブ アプリケーション」にチェックをいれ「承認済みのリダイレクト URI」に URI を入力します。この URI はアクセスできないもので問題ありません。


1.5. 「クライアント ID」と「クライアント シークレット」が表示されるので、コピーしておきます。


1.6. 認証情報が作成されていることが確認できます。


2. Fiddler を用いて、アクセストークン、ID トークンを取得
2.1. まず、Authorization Code を取得するために、ブラウザにて以下の URL にアクセスします。
https://accounts.google.com/o/oauth2/v2/auth?client_id=<クライアント ID>&response_type=code&scope=openid%20email%20profile&redirect_uri=<リダイレクト URL>」

2.2. Google アカウントでログインします。


2.3. 「次の許可をリクエストしています」の画面になるので「許可」を選択します。


2.4. redirect_uri に指定した URL に移動します。
実際の URL は以下のようになっており「code=」から始まる文字列をコピーしておきます。これが Authorization Code です。
http://localhost.com/oauth2callback?code=4/gl5R8SHAh6URI41tLdQ6mU7aHWT_b2E4ZXC4ILAyvM0&authuser=0&session_state=7bb0eeccbb7c5dc5c8d6cfa070dea435058d299d..c59e&prompt=consent#


2.5. 2.4. で取得した Authorization Code を使って、アクセストークン、ID トークンを取得するため、Fiddler の Composer を利用します。
Fiddler に以下の値をいれ「Execute」を実行します。

HTTP Method POST
URL https://www.googleapis.com/oauth2/v4/token
リクエストヘッダー Content-Type: application/x-www-form-urlencoded
リクエストボディ code=<Authorization Code>&client_id=<クライアント ID>&client_secret=<クライアントシークレット>&redirect_uri=<リダイレクト URL>&grant_type=authorization_code



2.5. 戻り値の「access_token」がアクセストークンで、「id_token」が ID トークンです。


2.6. ID トークンは、JWT なので、https://jwt.io/ 等ででコードすることが可能です。



情報元
OpenID Connect
  1. 2017/03/01(水) 22:38:24|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<タスクマネージャーの詳細をコピーする Tips | ホーム | Linux 上の Python プロセスのハングの原因を GDB を用いて調査>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/334-15191d18
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (77)
ネットワーク (37)
Wireshark (43)
Visual Studio (55)
WinDbg (33)
SOS・Psscor2/Psscor4 (25)
Linux (19)
コンテナ (4)
Azure (17)
Tips (19)
AD (6)
.NET (24)
Python (5)
Java (5)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する