• Resolved penguin22

    (@penguin22)


    お世話になります。

    掲題の通りなのですが、FB上でメールアドレスを非公開にしているユーザーからは当然メールアドレスを取得できず、ログイン情報として使用不可能かと思います。
    理想としては、メールアドレスが取得できなくともエラーを吐かず、ユーザー編集画面にリダイレクトしてそこでメールアドレスを入力できるといった形なのですが、こういったカスタマイズは仕様上不可能でしょうか?
    バージョンは最新の3.0.8を使用させていただいております。

    ご教授のほど、よろしくお願いいたします。

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    @penguin22

    > 掲題の通りなのですが、FB上でメールアドレスを非公開にしているユーザーからは当然メールアドレスを取得できず、ログイン情報として使用不可能かと思います。

    私の認識不足なのかもしれないのですが、メールアドレスの公開非公開ってステータスが関係ありましたでしょうか? ユーザーが明示的に「このアプリに提供する情報」をカスタマイズた場合に限ると思うのですが、どうでしょう。

    OAuthのリクエストの場合、メールアドレスへのアクセス許可を求める画面が表示されます。
    で、その場合にFacebookが提供する機能としては、アプリ(この場合はGianismを搭載したWordPress)に提供する機能をカスタマイズすることができます。

    以下は上記の「ユーザーがGianismに対してメールアドレスの提供を拒否した」という場合を前提にします。

    いまのところ、回答としては「できません」になってしまいます。もちろん、プラグインファイルをいじらないことが前提です。該当箇所は以下のURLですので、ここを改修して、仮のメールアドレスを発行しておき、とりあえず登録をさせるということは可能です。

    https://github.com/fumikito/Gianism/blob/master/app/Gianism/Service/Facebook.php#L252

    Facebookでは当然メールアドレスが提供されるものとして実装しているので、「メールアドレスの提供が嫌ならメールアドレスを必須とするWordPressには登録できない」というポリシーの実装にしています。

    とはいえ、結局twitterもメールアドレスが取れたり取れなかったりするので、仮のメールアドレスを発行するような実装にしています。

    Facebookでもそういった方向に寄せることは可能ではあります。

    ただ、結局メールアドレスを入力させるのであれば、WordPressの普通の登録でも同じなのでは、と思うのですが、いかがでしょう。

    いまのところ、いくつかのSNSで実装されているように、「SNSアカウントでログインした後、メールアドレスの入力を強制する」というオプションはわりと使い勝手がいいのでは、と思っていますので、もしかしたら実装するかもしれません。

    Thread Starter penguin22

    (@penguin22)

    迅速なご回答ありがとうございます。
    >私の認識不足なのかもしれないのですが、メールアドレスの公開非公開ってステータスが関係ありましたでしょうか?
    ご指摘の通り、私の勘違いでした。なぜかメールアドレスが取得できないアカウントがありましたのでこれが原因だと早とちりしてしまっていました。

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

    このようなケースに該当していたのかも知れません。失礼いたしました。

    該当のコードのご教示、ありがとうございます。
    この辺りをカスタマイズすればメールアドレスが取得できないケースにも対応できそうです。

    おっしゃる通りSNSログインの簡易性を潰してしまうような仕様ではありますが、SNSログイン後にメールアドレスに限らずその他必須項目を入力させたいというケースはそこそこありそうな気もします。
    オプションの一つとしてご検討いただければ幸いです。

    素晴らしいプラグインをありがとうございます。

    Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    @penguin22

    おっしゃる通りSNSログインの簡易性を潰してしまうような仕様ではありますが、SNSログイン後にメールアドレスに限らずその他必須項目を入力させたいというケースはそこそこありそうな気もします。
    オプションの一つとしてご検討いただければ幸いです。

    はい。私もうすうすそんな機能がつけば便利なのではないだろうとは思っていたのですが、実装するとなると、その他もろもろも一緒につけなければいけないので、どうしようか悩んでいたところです。

    WordPressを会員制サイト的に使う場合、WooCommerceやbbPressのように、そのプラグイン自体が会員機能を有している場合と、何もないすっぴんのWordPressで実装すべき機能が異なってくるので、そこらへんをうまく解消することができるようになれば、なにかしら提供したいと思います。

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘FBログインでメールアドレスを非公開にしているユーザーでも登録させたい’ is closed to new replies.