質問: オリジナルのWebサービスのユーザログインにOAuth認証を使いたいと考えています。 Google,githubからphpでUserNameを取ってくることはできました。 しかし、この先どうすべきでしょうか? 1. 独自でデータベースを構築し、ユーザを登録し、そのユーザ名とOAuthで得られたユーザ名を照合してログインさせる(特定のページに移動)、このような流れになるのでしょうか? 2. そうであるならば、OAuthで認証せずにユーザ名・パスワードを独自のDBへ登録して利用する方がシンプルではないでしょうか? 3. そもそもOAuth認証の利点としては、例えばTwitterの場合、Twitterへ明示的にログインしなくてもオリジナルのWebサービスから投稿できる、といったことがOAuthを使う理由として考えられます。しかし、OAuth認証をオリジナルのWebサービスへのログインに利用するということはどのような利点があるのでしょうか? 様々なサイトやブログではOAuth認証でトークンやユーザ名等を入手するところまでは書かれてますが、得られたユーザの情報をどう使ってオリジナルのWebサービスへのログインに利用するかは見つけきれませんでした。 以上、よろしくお願い申し上げます。
回答: 質問を見る限り、実装したいのは「OpenID Connect」だと思います。 「OpenID Connect」に関しては、以下を読むと良いです。 OpenID Connect Core 1.0 フルスクラッチで「OpenID Connect」を使用したログインシステムを構築したいということであれば、以下の記事が参考になります。 OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る 私は、自前実装をしたことが無いので、参考まで。