ちょっと考えてみた35

もう少し、OAuth2.0について調べてみました。

認可の仕組みであることがわかりました。

認証と認可は組み合わせて使われることがほとんどです。

ではどのようなシステムになっているのでしょうか?

 

以前はどのWebアプリケーション、Webサービスも、それぞれのID、パスワードで認証を行ってから、それを使用してました。

いつのころからか、GoogleのID、パスワードで、他のWebサービスが使用できるようになってました。

これが、OAuthの仕組みのようです。

これは、ID、パスワードの一括管理ではありません。

Youtubeでかんがえてみましょう。

Youtubeには、すでにGoogle のOAuthが入り込んでます。

私たちエンドユーザーが、Youtubeを使いたいとしますと、Youtubeアプリを開きます。そうすると、まず、Googleアカウントの入力を促されます。入力すると、Googleから認可コードをエンドユーザーが受け取れますが、普通は見たことがないでしょう(Youtubeの『ユーザーID』にそのまま載せているのかもしれません。『ユーザーID』は、設定>詳細設定で見れます。認可コードはワンタイムパスワードのようなものですぐに使えなくなりますが、一意性を利用して最初にユーザーIDを設定しているのかもしれません。)Youtubeは、このエンドユーザーに届いた認可コードと、YoutubeのクライアントIDを、Googleへ送ると、アクセストークンというものを取得できます。

 そのあとは、エンドユーザーがリクエストした際に、このアクセストークンを使用して、Googleが管理するこのユーザーのリソースを利用したり、認可情報をもとに制限をかけつつ、レスポンスとしてYoutubeのコンテンツを提供しているのです。

この例では、youtubeGoogleが提携しているので、認可コードをもらうまでの仕組みはよくわかりません。

そこを理解するなら、Qiitaというサイトは、GitHubアカウントで入るようですので、下記参照にして理解すればよいでしょう。

OAuth 2.0 の解説サイトを漁る前に - Qiita