2017-11-28 3 views
0

STS(Identityserver4)には2つのクライアントがあります。Identityserver4リソース所有者クライアントと暗黙クライアントの間のsso

  • (Identityserver GUIを使用してログイン)暗黙のフローを使用して、リソースの所有者の流れを使用してクライアントA(SPA)(SPA内のユーザー/パスワードを入力してください)
  • ClientB(MVC)

質問:どのようにClientAとClientBの間にSSOを実装できますか?

ClientAからClientBへのリダイレクト時にSSOを実行するために、ClientAからのaccesstokenを使用できますか? ClientBからClientAまではどうですか? ClientBでcookie authを使用しないでください。

+0

IdentityServer4で両方のクライアントを定義した方法と、MVC起動クラスでIdentityServer4を設定した方法を共有してください。 – aaronR

答えて

0

IdentityServer自体は、そのままの状態でSSOを提供します。

SPAクライアントに暗黙的に使用する必要があります。 (プロファイルが含まれている場合は、スコープリクエスト、IDトークン、プロファイルが含まれている場合はidトークンに従ってアクセストークンを共有することによりIDMにクライアントについて知らせる)

MVCクライアントは信頼関係に応じてクライアントは、あなたがClient credentials/Resource owner grant(あなたはトークンにsubを取得する)を選択するべきであることを安全にパスワードを保つことができます。

ほとんどの場合、MVCクライアントはハイブリッド許可を選択します。

クライアントがIdmサーバーで設定されると、ブラウザ上でIDトークンとCookieを共有することになります。要求されたスコープごとにアクセストークン。

+0

私たちのSPAのための暗黙的なフローにすれば、問題はなくなります。リソース所有者の流れがあれば、より良いUXが得られます。 – Larsi

関連する問題