技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

ログインとOAuth2.0

ログインとOAuth2.0

OAuth は基本的には広く第三者に公開される API において認可(authorization)を行うために 用いられます。

よくWebサービスにログインする時にtwitterでログインするなどのボタンがあると思いますが、その裏側の構造はこのOAuth2.0が利用されているケースが多いです。

概要図

f:id:lhiroki1205:20201103221239p:plain

- facebookから渡されるトークンはアクセストークン(ネットワークで使用されるユーザーのセキュリティ識別情報)
- リソースを保持するサービスはfacebook, twitter, googleなどがよく利用されます

■ アクセストークンが成功した時のレスポンスデータサンプル(JSON)

HTTP/1.1 200 OK 
Content-Type: application/json 
Cache-Control: no-store
Pragma: no-cache 
  {
     "access_token": "b77yz37w7kzy8v5fuga6zz93", 
     "token_type": "bearer", 
     "expires_in": 2629743, 
     "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA", 
  }

OAuth2.0を利用するメリット

利用する最大のメリットは標準化されているという点です。

標準化されているので、サーバーとクライアント共に多くの言語でライブラリが提供されています。

実装が双方にとって楽なのがメリットです。

参考

一番分かりやすい OAuth の説明 - Qiita

Web API: The Good Parts - オライリー・ジャパン