Facebook を介してユーザーを認証/承認するために、Spring Boot スターター ソーシャル Facebook を使用しています。
ユーザーの電子メールアドレスを取得するために、電子メールなど、いくつかのアクセス許可を追加したいと思います。
Spring Boot Facebook 構成でどのように提供できますか? スコープまたはデフォルトの Scope プロパティをどこに追加する必要がありますか?
Facebook を介してユーザーを認証/承認するために、Spring Boot スターター ソーシャル Facebook を使用しています。
ユーザーの電子メールアドレスを取得するために、電子メールなど、いくつかのアクセス許可を追加したいと思います。
Spring Boot Facebook 構成でどのように提供できますか? スコープまたはデフォルトの Scope プロパティをどこに追加する必要がありますか?
スターターは、デフォルトの認証ページのみを提供します。良いスタートですが、見た目が単純なので実際に使いたくないでしょう。代わりに、/connect/facebook に POST するフォームを使用して独自の認証ページを作成します。そのフォームでは、Facebook から取得したい権限のカンマ区切りのリストを含む「scope」という名前の非表示フィールドを提供します。
まず、 spring.social.auto_connection_views プロパティを設定しないようにする必要があります (または、設定する場合は false に設定します)。次に、「connect/facebookConnect」に一致するビュー (JSP、Thymeleaf など) を作成します。その中に、「スコープ」非表示フィールドを使用して /connect/facebook に POST するフォームを含めます。
例として、https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase-bootをご覧ください。このプロジェクトは Thymeleaf テンプレートを使用しており、facebookConnect.html テンプレートは src/main/resources/templates/connect/facebookConnect.html にあります。