OAuth:4つもあった!?アクセストークンを取得する方法
はい、こんにちは。前回記事の続きです。ユーザに代わって、アプリが別サービスのAPIを利用できるようにする枠組み「OAuth」についてご紹介しています!
前回は、OAuth2.0という現在主流のバージョンが、どのようにOauth1.0から進化したのかについて紹介しました。OAuthを利用できるアプリの幅が増えて、またセキュリティ面が向上したのでしたね!
今回は、OAuth2.0の認可フローとは何か!また、その4つのタイプをご紹介しましょう!
ではいってみましょう!
「認可フロー」とは?
先に「認可フロー」とは何か確認しましょう!
OAuth2.0では、最終的に「アクセストークン」を取得して、APIでリソースにアクセスします。この「アクセストークン」を取得する手順が「認可フロー」です。
いくつかある!OAuth2.0に認可フロー
OAuth2.0では、認可フローの種類は以下の4つです。
1.認可コード:
クライアントは、認可サーバから先に「認可コード」という「引き換え券」をもらって、その「引き換え券」と「アクセストークン」を交換してもらう。
2.インプリシット:
「認可コード」と異なり、クライアントが、最初から「アクセストークン」を受け取る方式です。セキュリティ面で問題があって、現在は推奨されていません。
3.リソースオーナーパスワードクレデンシャル:
クライアントがリソース側のサービスのIDとパスワードを送ってアクセストークンを受け取るタイプです。う~ん、ユーザの手間が増えますね。
4.クライアント・クレデンシャル:
この方式では、3.にと比べて、「クライアント側」で認証を行います。トークンを要求するときに、クライアント側のアプリのIDを認可サーバへ送ります。
以上が4つのタイプです。
スマホアプリの主流は「認可グラント」
4つご紹介しましたが、現在の主流は「認可グラント」というフローです。
一度「引き換え券」(認可コード)を取得しないと「アクセストークン」をもらえないので、なんか遠回りな感じがしますね。
ちょっと不思議な感じもしますが、この主流の「認可グラント」について次回お話ししましょう!
では!
この記事が気に入ったらサポートをしてみませんか?