2017-07-25 11 views
-1

私は複数の正面向きのWebアプリケーションと、IdentityServer4(マイクロサービス)アプリケーションを持っています。これらはすべて、.NET Core MVCで動作します。特定のユーザーは、App1とApp2のそれぞれに複数のアカウントを持つことができます。ユーザーがログインすると、アクセスしているアカウントを選択します。ユーザーがApp1にログインして自分のアカウントを選択した場合、App2にログインしてApp1でIDを失うことなくアカウントを選択できるようにする必要があります。 App1に戻ると、以前に選択されたIDはそのまま維持されます(再ログインは必要ありません)。さらに、ユーザーがApp1のログインプロセス全体を行った場合、App2のIDなしでApp2にアクセスした場合、最初の資格情報を入力する必要はなく、単にアカウント選択に進むだけです。IdentityServer4に複数のクライアントがある

問題は、App2でユーザーをログオンしようとすると、App1のIDが完全に失われることです。

  1. は、私は2つのサイトのための別々のスコープを設定し、偉大なる情報を、取得するどのサイトを管理することができますが、それは全体的な問題を解決しない:

    物事は私が試してみました。

  2. 私はサイトに対して別々のAuthenticationSchemesを設定しようとしましたが、それは役に立たず、しばしば全く役に立たないserver_errorメッセージ(スタックトレースなし、ログには何もありません)につながります。

誰でもこの方法を知っていますか?

答えて

2

アイデンティティ・サーバー4はシングル・サインオンです。ユーザーがApp1からApp2にアクセスした場合、App1にログインすると、再度ログインする必要はありません。しかし、各クライアントは自分自身を認証する必要があります。したがって、ミドルウェアが自動的に行う認証(クライアントを設定する必要があります)と、異なるクライアント間でCookieを共有しないようにします。

関連する問題