OAuth2 接続方法
- 2015年08月19日
- CATEGORY- 1. 技術力{技術情報}
こんにちは、松野です。
先月はOAuth1の認証方法について書きましたが
今月はOAuth2の認証方法を書いて行きたいと思います。
OAuth2はOauth1に比べるととても使いやすくなっており、ライブラリも充実しているイメージなので
1はわからないけど2ならわかる。 という方も少なくないのではないかなと思います。
早速、OAuth2の認証をしてみましょう。
1.ユーザがアプリケーションにアクセスする
2.アプリケーションがサーバに認可コードを送信する
3.サーバーからユーザにログイン画面を返す
4.ユーザがログインする
5.サーバが認証コードをアプリケーションに返却する
6.アプリケーションが返却コードを使用してサーバにアクセストークンを要求する
7.サーバがアプリケーションにアクセストークンを返す
8.このアクセストークンを使って、ユーザ情報のやりとりをする
9.結果をユーザに返す
と、こうなってます。
言葉だとわかりづらいので、実際にやってみましょう。
まず、認可コード要求ですが
https://console.developers.google.com/project/
上記URLにアクセスして、プロジェクトを作成してください。
プロジェクト作成後、APIと認証画面の認証情報で、新しいキーを作成してください。
ここで作成される
クライアントID
クライアントシークレット
リダイレクトURL
を使いますので、メモしておいてください。
プログラムで
https://accounts.google.com/o/oauth2/auth
に情報をPOSTします。
POSTする情報
key:client_id value:上記でメモしたクライアントID
key:redirect_uri value:上記でメモしたリダイレクトURL
key:response_type value:code
key:scope value:openid email profile
※上記scopeは取得する情報によって変わってきますので、別途調査してください。
基本的にはemailとprofileで行けるかと思います。
key:access_type value:offline
key:approval_prompt value:auto
この情報をPOSTすると、googleのログイン画面が出力されます。
ログイン後、redirect_uriで指定したURLに、codeパラメータ付きでリダイレクトされます。
あとはこのcodeを使いアクセストークンを取得し、そのアクセストークンを使用することで
scopeで指定した情報(openid, email, profile)を取得できるようになってます。
とりあえず前半はここまで、来月はアクセストークン取得までやりたいと思います。
【関連記事】
ハニーポットについて (1)サーバーを立てる
ハニーポットについて (2)アクセスログ有効活用方法
TopCoderをやろう!
TopCoderをやろう 等差数列の問題
今月はTopcoderじゃなくてCodeIQ!
俺googleのページランクのアルゴリズム知ってるんだぜ!
サメの種類と生態
プログラマならできて当たり前、fizzbuzz問題
OAuth1 認証 アクセストークン発行まで
- 2015年08月19日
- CATEGORY- 1. 技術力{技術情報}