OAuthとは?
OAuth(Open Authorization)は、ユーザーがログイン情報を共有することなく、サードパーティのアプリケーションに他のウェブサイト上のリソースへのアクセスを許可することを可能にする認可プロトコルです。 ウェブサイトやアプリは、ユーザーがプラットフォームごとに新しいアカウントを作成することなくサービスにアクセスできるようにするためにOAuthを使用しています。 OAuthの例として、ユーザーがApple、Facebook、またはGoogleのアカウントでさまざまなサイトにログインすることが挙げられます。
OAuthの仕組み
- ユーザーは、サードパーティのウェブサイトやアプリに対し、別のウェブサイトやアプリ上の自分のリソース(例:プロフィール)へのアクセスを許可したいと考えています。
- サードパーティのプラットフォームは、ユーザーのリソースを保持しているウェブサイトやアプリに対して、許可を求めるOAuthリクエストを送信します。
- ユーザーのリソースを保持しているウェブサイトやアプリが、サードパーティアプリに許可を与えるようユーザーに促します。
- ユーザーが許可した場合、ユーザーのリソースを保持するウェブサイトやアプリは、OAuthアクセストークンをサードパーティプラットフォームに送信します。 この一意のトークン識別子によって、サードパーティ・プラットフォームはリソースにアクセスできます。
- サードパーティプラットフォームは、ユーザーがリソースを保有するウェブサイト上で許可を与えた特定のリソースにアクセスすることができます。 ユーザーはいつでもアクセスを取り消すことができます。
OAuthの例
- Appleでサインイン ユーザーはApple IDを使って様々なサードパーティアプリケーションにアクセスできます。
- Googleでサインイン: Googleは、ユーザーがGoogleアカウントを使用してサードパーティアプリやサービスにログインできるようにします。
- Facebookでサインイン: Facebookは、ユーザーがFacebookアカウントを使用してサードパーティのアプリにログインすることも可能にしています。
- Twitter: TwitterはOAuthを使用して、サードパーティアプリ(TweetbotやTwitterrificなど)がユーザーのTwitterアカウントにアクセスし、ユーザーの代わりに投稿できるようにしています。
- Dropbox: Dropboxユーザーは、ログイン情報を共有することなく、Dropboxアカウントでサードパーティアプリに接続できます。