問題タブ [spring-social-google]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - providerId、accessToken、secret で providerUserId を取得するには? (春の社交)
私のアプリケーションでは、providerId と providerUserId でユーザーを識別できます。しかし、最初は、次の情報しかありません。
- プロバイダーID、
- アクセストークン、
- 秘密。
したがって、この情報でproviderUserId を取得する必要があります。
次のコードを使用しようとしています:
しかし問題は、接続キーが初期化されていないことです: providerUserId は null です。
この場合、どうすれば取得できますか?
maven - Spring Social Google - Maven の依存関係が見つかりません
spring-social-google ( https://github.com/GabiAxel/spring-social-google )の Maven 依存関係が見つかりません。ドキュメントによると、依存関係は次のように定義されています。
ただし、Maven リポジトリには存在しません。誰でもそれを確認できますか?
spring - spring-social-google 認証が登録フォーム ページにリダイレクトされない
このチュートリアルに含まれるコードに Google Plus フレーバーを追加したいのですが、サインイン中に Log4J から次の警告メッセージが表示されます。
WARN - RestTemplate - " https://www.googleapis.com/plus/v1/people/me " の GET リクエストで 403 (禁止) が発生しました。エラー ハンドラの呼び出し
Facebook や Twitter のように登録フォームにリダイレクトする代わりに、もう一度ログイン ページにリダイレクトされます。
DEBUG - LoginController - ログイン ページのレンダリング。
チュートリアルのコードは、こちらから入手できます。これらは私が加えた変更です。
pom.xml
resources/application.properties - 次の行を追加
残りの変更は、フォークした GitHub リポジトリで提供されます。
アプリを起動する必要があります
もちろん、ポート 8080 を自由にバインドできる場合は、jetty.port を省略できます。
Google Plus リクエストは POST である必要があることをどこかで読みましたが、他の結果が得られなかったため、コードはlogin.jsp
次のようになります
誰かがこの問題に直面して解決しましたか? Twitter と Facebook では問題なく動作します。
編集
/singup
アカウントがまだ存在しない場合、Facebook または Twitter とのハンドシェイクの後、ページにリダイレクトされることに気付きました。ただし、Google Plusでは、データベースにまだユーザーアカウントがないため/signin
、もちろんリダイレクト先にリダイレクトされます。/login
spring-social - 春のソーシャル Google
Spring Boot を使用して Spring Social Google アクセスを開発しています。構成しているとき
アプリケーションのプロパティ
春のソーシャルでGoogleのメタデータが見つかりません。
facebook、twitter、linkedin のメタデータがあるように。
次に、これを Client-ID と Client-Secret で構成するにはどうすればよいですか。これは、connectcontroller が Google に接続するために必要です。
java - Spring ソーシャル構成でコールバック URL を構成する方法
春のソーシャルログインを使用しています。コールバック URL を構成する必要があります。デフォルトでは、localhost をコールバック URL として使用します。
ProviderSignInController.setApplicationUrl() メソッドで試しました。しかし、変更が反映されていません。
春に提供されたサンプルと同じコードを使用しています。以下のリンクはこちらです。
https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase-sec
このサンプルでは、コールバック URL が定義されている場所がわかりません。定義されていない場合は、それをカスタマイズして他のコールバック URL を定義する方法を教えてください。助けてください。
spring-security - サインイン プロバイダーとして使用される Spring Social Google は、Oauth2 ログインの成功後に 403 で失敗します
プロバイダーで OpenId Sing として Facebook と Google の両方を使用する必要があります。ドキュメントで説明されているように、サンプルアプリを見て、SocialAuthenticationFilter を使用して Spring Security と統合しました。
Facebook の設定に成功しました。
問題は、Google で認証しようとするときです。
のOAuth2AuthenticationService.getAuthToken():
この時点で、accessGrant に accessToken が含まれていることがわかりますので、今のところ正しいようです。次の呼び出しでは失敗します。
createConnection()
呼び出して終了しますGoogleConnectionFactory.extractProviderUserId(AccessGrant accessGrant)
:
およびgetApiAdapter().fetchUserProfile(Google)
-> google.plusOperations().getGoogleProfile();
403 例外をスローします。
GoogleProfile を取得できないのはなぜですか? どうやら私が設定したスコープとユーザーにプロンプトが表示されたものは正しいです...
完全なプロジェクトはこちらから入手できます: https://github.com/codependent/spring-boot-social-signin
構成からの抜粋:
セキュリティ構成:
ソーシャル構成: