見出し画像

OAuth:1分で分かる!OAuth1.0とOAuth2.0の違い

はい、こんにちは。前回記事の続きです。ユーザに代わって、アプリが別サービスのAPIを利用できるようにする枠組み「OAuth」についてご紹介しています!

前回は、OAuthを使うと何がうれしいのか、についてお話しました。OAuthは、アクセス権限を与える「認可」の仕組みであり、「認証」までは行わないことで、APIをより安全に使えるのでした。

さて、今回からは、「OAuth2.0」についてお話しましょう!ご想像どおり、OAuth1.0というバージョンもあります。が、現在主に利用されているのが、こちらのバージョンですので、このバージョンを学ぶ方が実態とマッチするでしょう。

この記事では、OAuth1.0からOAuth2.0にどのように進化したのか、ぐっと焦点をあてましょう。これでOAuth2.0の特長が分かります。

ということで、いってみましょう!

OAuth1.0からの進化バージョン

まずは、OAuth2.0は、OAuth1.0に比べてどのように良くなったのかを見ていきましょう。ポイントは3つあります。

1.ブラウザではないアプリへの対応が改善

OAuth1.0は、クライアントがブラウザを利用することを基本として設計されています。一方で、OAuth2.0は、スマホで使うアプリなどブラウザ以外のアプリにも対応しやすくなりました。

OAuth1.0は、2007年にリリースされましたから、当時スマホはなかったですね。

2.署名の生成が不要になった

OAuth 1.0では、すべてのAPI呼び出しで署名が必要でした。これをリソース側が持つ署名と一致させる必要がありました。 一方、OAuth 2.0では署名の生成が不要になりました。他方、安全な通信のためにTLS/SSL(HTTPS)が必須となりました。これにより、アクセストークンの盗聴に強くなりました。

3.短命のアクセストークンとリフレッシュトークンの導入

OAuth1.0では、アクセストークを1年以上も保存して使うことが可能でした。この状態ですと、アクセストークンが盗聴され悪用されたときの被害が大きくなります。

一方、OAuth2.0では、有効期間の短いアクセストークンと、「リフレッシュトークン」という仕組みが導入されました。これによりクライアントは、認可を何度も必要とせず、新しいトークンを取得できるようにありました。詳しくは、後日の記事で紹介します。

ということで簡単にまとめれば、OAuth2.0が使えるようになったことによって、「OAuthを利用できるアプリの幅が広がり、セキュリティが改善した」ということになりましょう!


本題の認可フローの話をする前にちょっと先走った話題もありましたが、お許しください。今回はこれくらいにしましょう!

次回は、認可フローの話を進めていきましょう!

では。




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