見出し画像

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つご紹介しましたが、現在の主流は「認可グラント」というフローです。

一度「引き換え券」(認可コード)を取得しないと「アクセストークン」をもらえないので、なんか遠回りな感じがしますね。

ちょっと不思議な感じもしますが、この主流の「認可グラント」について次回お話ししましょう!

では!

この記事が気に入ったらサポートをしてみませんか?