私は同様のissueを見つけましたが、回答がないので少し質問を重複するつもりです。Spring OAuth2:SSOとカスタム認証サーバーの両方で認証およびリソースアクセスをサポートします
私はSpring OAuth2を使用して、個別のリソースとカスタム認証サーバを実装しています。 私はすでに&のJWTトークンの検証を発行して認証サーバーとのやり取りを設定しました。
今SSO機能を追加しようとしていますが、実際にはそれに固執しています。私は公式のスプリングexamplesと付属のガイドを研究しましたが、カスタムサーバー認証でSSOの部分を接続するのは非常に短い言い方です。そして実際には、外部プロバイダーリソース( 'ユーザー'情報)のみを使用してプロセスを表示します。
このSSOの認証手段とカスタム登録のすべてを持っているのが普通だと思います。私はそれが例えばstackoverflowでうまく動作することがわかります。
複数のSSOプロバイダとカスタム認証サーバーから発行された異なる種類のトークンをリソースサーバーで処理する方法については、 私はこれを行うためにauth chainを使うことができ、それを処理する方法を知るためにトークンフォーマットを区別することができます。 Spring OAuth2で可能ですか?あるいは、私はこの魔法を何とか手動で行う必要がありますか?
今のところ私はちょうど1つの「たぶん奇妙な」アイデアを持っています: 自分のリソースサーバーにこのSSOの内容をまったく関与させないこと。 Facebookの(たとえば)トークンの受信後 - ちょうど
EDITEDカスタム認証サーバ(途中でユーザーを関連付けるまたは作成)とAPI JWTトークンのためにそれを交換して、標準の基礎の上にリソースサーバと連携: を私はしました少なくとも何かを発見した。私は認可連鎖でフィルタを設定し、指定されたソーシャルトークンを私のカスタムJWT-sに 'post authenticate'として翻訳しました(結局のところ狂気のアイデアではありません)。しかし、それは主にSpringSocialで行われました。 それでは、質問は、どうしたらいいですか? カスタムサーバーの認証にパスワード許可を使用していると忘れました。クライアントは信頼できるアプリケーションに過ぎず、ブラウザクライアントについてはわからない(ネイティブモバイルオプションのみを考えている)。私がブラウザクライアントを持っていると決めたとしても、それがバックエンドにsencetive情報を格納するようにするつもりです
は私が私の理解を確認してみましょう。あなたはFBからあなたのサーバーにすでに得られたトークンを渡しました。あなたのサーバーは新しいJWTを発行しましたか?どうやってこれを呼びましたか? URLは何でしたか?あなたがそれを達成するために使ったライブラリ – zalis
@zalis私は最後に少し物事を明確にしようとしました。それが助けてくれることを願って。しかし、あなたのプロジェクトの技術的な要件によってはまだまだ違うかもしれません – maret