3

今月リリースされたMVC4oAuthを試してみました。ユーザープロパティで保存できるように、電子メールアドレスを追加できる場所を誰かに教えてもらえますか?

ウェルカムメールを送信できるようにする必要がありますが、すぐに使用できるMVC4oAuthをどこから始めればよいかわかりません。

理想的には、ログインに成功した後、コントローラーでFacebookからユーザー情報を受け取り、それをテーブルにドロップして、オフラインプロセスがウェルカムメールを送信できるようにします。

ありがとう、ビクター

4

2 に答える 2

5

これは、Facebook のユーザーが、Web サイトのビクターなどのサードパーティの認証サービスと共有するデータを指定できるためです。そして、デフォルトでは、電子メール アドレス (はい、Facebook アカウントに追加できる複数のアドレスがあります) はデフォルトで共有されていないと思います。ユーザーは、自分の電子メール アドレスを第三者と明示的に共有する必要があります。これは、誰も使用したことがないと思います。

Facebook が強制的に共有する唯一の「必須」共有データは、FullName (「Eric Duncan」など) です。他のすべては、ユーザーが共有するためのオプションです。

たとえば、Facebook で生年月日ではなく生年月日のみを共有するように設定しています。また、自分の興味を共有するための Facebook の設定もありますが、メールは共有できません。

したがって、保証されているもの、つまり Facebook の場合の表示名 (MVC 4.0 OAuth では「UserName」と呼ばれます) をコーディングする必要があります。それ以外はすべて保証されません。

Facebook 接続を含む OAuth アプリケーションで行うことは、コールバック URL ページ (MVC 4.0 の ExternalLoginConfirmation.cshtml など) でサード パーティとの認証が成功した後、ユーザーに表示名、電子メール アドレスを入力するように求めます。 、生年月日など。カスタム ビュー モデルで標準のデータ注釈を使用して、これらのフィールドを必須にします。

于 2012-10-14T15:53:38.247 に答える
0

Facebook が電子メールを返すようにするには、スコープで指定する必要があります。たとえば、JS SDK を使用すると、次のようになります....

return FB.login(function(response) {
    if (response.authResponse) {
      return window.location = '/auth/facebook/callback';
    }
  }, {scope: 'email,user_likes'}
);
于 2014-01-09T00:53:16.397 に答える