LoginSignup
1
1

More than 5 years have passed since last update.

TwitterとFacebookでOAuth時に参照可能なメールアドレスの信頼性について

Last updated at Posted at 2016-11-01

 ログイン必須のシステムを作るときに、メールアドレス認証回りを外部のプラットフォームに完全に依存して楽をしたい人生だったので、OAuth時に取得できるメールアドレスをそのまま信頼できるユニークなキーとして使用しても問題ないか調べてみた。

Twitter

  • verifyされていない場合は null となる。
  • そもそも電話番号認証で登録してない場合は null。

If the user does not have an email address on their account, or if the email address is un-verified, null will be returned.

(引用元: https://dev.twitter.com/rest/reference/get/account/verify_credentials)

Facebook

  • アカウント特定のユニークキーとして使用する場合はアプリ側で担保しなければならない。
  • そもそも電話番号認証で登録してない場合は null。

各アカウントを特定するための固有の認証情報としてメールアドレスを使用する場合は、アプリ側でその利用者のFacebookアカウントに関連付けられているメールアドレス(Facebookログイン時に取得したもの)が有効であることを確認する必要があります。

(引用元: https://developers.facebook.com/docs/facebook-login/multiple-providers)

 

注: emailアクセス許可をリクエストしても、メールアドレスを取得できるとは限りません。たとえば、利用者がメールアドレスの代わりに電話番号を使用してFacebookにサインアップしている場合、メールフィールドは空になっていることがあります。
(引用元: https://developers.facebook.com/docs/facebook-login/permissions#reference-email)

まとめ

 Twitter、Facebook ともに OAuth 時に参照できるメールアドレスは、nullの場合もあるし信頼出来ないものなので、実装するシステム側できちんとメールアドレス認証の仕組みを実装しましょう! (楽を出来無い人生だった…)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1