フロントエンド(SPA、angular2、lite-server)と隠れたバックエンド(publicには公開されていない、つまりlocalhost:8080、スプリングブート+スプリングセキュリティ) frontend/api
はフードの下でbackend/api
に電話します。OAuth2:認証コード許可フロー
基本的には、のOAuth2フローのこの種の手順は以下のとおりです。UIで
- は - REDIRECT_URIは、アクセスコードとREDIRECT_URIに戻って取得承認
- を指定して認証サーバへのURLをヒット
- ???
- サーバーの交換はトークン認証用のコードにアクセスし、ユーザー(認証済み)
- それを維持し、彼は私が3と5との間のステップを取得することはできません
にアクセスすることを制限されたバックページになります私のバックエンドサーバは見えないので、redirect_uriはフロントエンドのものでなければなりません。私はおそらくbackend/api/auth
への呼び出しをプロキシするfrontend/api/auth
を使用することができ、バックエンドは承認許可を得るでしょうが、この場合、ユーザーはフロントエンドにリダイレクトされません。だから、私はjavascriptのコードを取得し、代わりに/api/auth
へのPOSTを行う必要がありますか?
また、すべてのリダイレクト後にステップ6に戻る方法はわかりません.SPAアプリはリロードされます(状態を削除します)。redirect_uriは/api/auth
のURLです。
これをどのように解決しましたか? – flyer88
最初のことは、spring-oauth2の代わりにspring-socialに切り替えました。しかし、いったん思ったら、spring-oauth2でも同じことができます。したがって、手順は次のとおりです: 0)リダイレクトURLを設定するか、/ api/auth/facebookにリダイレクトするパラメータとして指定します 1)承認アイコン - >/api/auth/facebook - >バックエンド/認証/フェイスブック )バックエンドはダンスを開始し、完全にURLをリダイレクトするようになります(ステップ0を参照) 3)フードの下に/ api/auth/facebook?authorization_code = blabla 4)成功後にUIにリダイレクトする(successHandler.setDefaultTargetUrl) –