2017-01-07 5 views

答えて

1

こんにちは、ちょうど私がここに返信したいと思ったのは、他の誰かがこれについて質問していると思います。

私はFacebook scopes reference pageを見て、それはpublic_profileがユーザーIDを含むスコープであると言います。だから、私は自分のFacebook Directoryに行き、 'Scopes'タブの 'Provider Configuration'の下にpublic_profileを追加しました。 「Attribute Mappings」タブの下で、属性名としてidを追加し、customData.idを「Stormpathフィールド名」として設定しました。

ユーザーが自分のFacebookの資格情報を使用して自分のWebアプリケーションにログインすると、自分のIDが自分のアカウントのcustomDataに直接保存されます。

{ 
    "id": "1260737122323" 
} 

アカウントのcustomDataからこのデータを取得し、のプロフィールページに表示しますReact-Express sample projectは、次の2つのことを実行する必要があります。

  1. web.me.expand.customData設定がカスタムデータフィールドが埋め持つためにtrueに設定されていることを確認し、
  2. このように、name="customData.id"とプロフィールページに新しいフィールドを追加します:

enter image description here

これはAccess custom data fields by prefixing field names with customData section下のドキュメントで覆われています。

1

これらのFacebookスコープのドキュメントは少し混乱してStormpathにマップしたいので、「public_profile」のプロパティは、Facebookのユーザーオブジェクトのルートに実際に利用されていますid~customData.public_profile.id

+0

ありがとうRobert!したがって、属性名:id Stormpathフィールド名:customData.public_profile.id? – user992731

+0

うん、それはそれを行う必要があります。 – robertjd

+0

console.loggingを実行するとエラーが発生します。私は反応を使用しています。 static contextTypes = { ユーザー:React.PropTypes.object }; render(){ console.log(this.context.user.id) – user992731

関連する問題