1

OAuth は代理認証を可能にする優れたフレームワークであるため、ユーザーはサイトを使用するために新しいユーザー名とパスワードを必要としません。ただし、OAuth によって認証されたユーザーを格納して、そのユーザーに対してアプリケーション レベルのアクセス許可を実行できるようにする方法については、少し曖昧です。

OAuth は、要求された識別子や電子メールなど、ユーザーに関するいくつかの要求を返します。これまで、OAuth によって認証されたユーザーの一意の識別子としてクレームされた識別子を使用してきましたが、これを行うにはいくつかの問題があります。

  • Google は、ログインに使用する URL ごとに異なる要求 ID を提供します。
  • 各プロバイダーは、同じ人物に対して異なる ID を提供します (たとえば、同じメール アドレスで Yahoo と Google のアカウントを持っている場合、それぞれ異なる ID を持つことになります)。

これらはどちらも完全に理にかなっていますが、特に前者は対処するのが少し面倒です。

この主要な識別子を電子メール アドレスに移動するということは、同じ電子メール アドレスを持っている限り、使用する URL とプロバイダーに関係なく、同じユーザーを簡潔にすることを意味します。

私の質問は、電子メール クレームを、アクセス許可の基にするユーザーの一意の識別子として使用することに切り替えた場合、これは安全になるのでしょうか?

懸念

  • メールアドレスを OAuth ユーザーとして許可する前に、プロバイダーがメールアドレスを検証することに依存している
  • プロバイダーはメールアドレスを検証する必要がありますか (主要なものはすべて検証していると思います)?
4

1 に答える 1