最近、Spring Social と Spring Security を使用してユーザーを認証する別の開発者から Spring アプリケーションを継承しました。
書いた開発者がFacebookのアプリIDを廃止したいので、新しく作りました。そして、これが問題の始まりです。
アプリ ID とアプリ シークレットを新しいものに変更したところ、突然サインアップすると、Facebook が姓名と電子メール アドレスの配信を停止しました。
最初は、新しいアプリ ID の所有者でもある新しい Facebook ユーザーのせいかもしれないと思っていましたが、そうではありませんでした。アプリはまだ古いアプリ ID で実行されており、ユーザーにサインアップすると、前述の属性が配信されます。
ここで何が欠けていますか?developers.facebook.comで自分の Facebook アプリケーションを定義するときに、魔法のようなものを切り替える必要がありますか?
新しいアプリケーションがアクティブ化され、一般に公開されます。サイト URL とアプリ ドメイン、および有効な OAuth リダイレクト URI が設定されます。
現在、アプリケーションをテストしようとしてlocalhost
いますが、Facebook アプリの設定で設定されているドメインも同様です。
のインスタンスは、使用するとorg.springframework.social.connect.UserProfile
ユーザーの名前を返しますが、getName()
すべてgetFirstName()
が返されます。getLastName()
getEmail()
null