1

セットアップして、起動している基本的なIdentityServerを持っています。私はIdentity ManagerとIdentity Adminを使用して、すべてのもの(ユーザー、ロール、クレーム、クライアント、スコープ)をデータベースに保持しています。次のステップは、認証をADに統合することです。私の要件は以下のとおりです。IdentityServer - 認証のためのADと残りの部分は

  • ユーザーは、(彼らは今のように)
  • ユーザー権限(請求/役割は)データベースに保存されるADに対して認証されます
  • クライアントアプリケーションに応じて、私は別の3を持っていますシナリオ:
    • 場合によっては、現在のユーザーのIDを使用する必要があります(これは動作するためには、Identity ServerはWindows認証で実行する必要があります)。ユーザーには何も入力する必要はありません。
    • 場合によっては、ユーザーが明示的にログインする必要があります。彼は現在のログインを使用できます。
    • ADに対して検証されるユーザー名とパスワードを手動で入力します。

私はどのように進めるために、いくつかのポインタ/方向を探しています。自分自身でログインシーケンスを完全に処理する必要がありますか、私のソリューションなどの基盤となるものがありますか?

助けていただければ幸いです。いくつかの周りに掘った後

+0

ようなものだ私は、あなたが「彼は現在のログインを使用することができます」によって何を意味するかクリアしていませんよ – stombeur

+0

@stombeurどのユーザーもADログインを使用してWindowsにログインし、そのログインを使用します。 – Albert

+0

私は自分の答えを少しはっきりさせるためにちょっときれいにしました – stombeur

答えて

1

:idsrvで

This exampleは、別のWebアプリケーションとどのようにWS-与え、そのWebアプリケーションに委譲することを利用するにはauthn Windowsを実行する方法を示しています。これはthis issueでも説明されています。

This blog post by scott bradyは、依存者とどのように作り、あなたはこれらのWSフェデレーションの委任の両方を使用する場合は、ADFS

にユーザ名/パスワードのログインを許可するように、供給WSでADFSに委譲するようidsrv許可するようにADFSを設定する方法を示し必ず認証タイプに異なる値を使用してください。

最初にリダイレクトにacr_valuesとidpを追加し、idpをwinauth外部idpの名前に設定することで、ユーザーに最初にwinauthを試すことができます。 the idsrv docs here

this techniqueを使用して、外部winauthプロバイダーからのログイン失敗を検出し、自動的にadfsプロバイダーにリダイレクトすることができます。

何らかの理由でログインページにアクセスした場合、disable local login(ユーザー名とパスワードの入力フィールドは表示されません)と外部プロバイダ(winauthとadfs)がデフォルトでボタンとして表示されます。


編集:

はい、あなたは

するWinAuthを持つユーザーのためのフローは

になり、Windows統合認証でidsrv実行する必要がなくなりidsrvの隣に追加のウェブアプリを、追加します
client app -> IdSrv (login page) -> WinAuthHost -> IdSrv (auth endpoint)-> client app 

実際には、成功した場合、ユーザーはほとんどの場合、WinauthHostにクライアントアプリケーションと1つの画面しか表示されず、Idsrvは表示されません

ユーザーがWindows(または正しくないドメイン)にログインしていない場合、フローは、この

client app -> IdSrv (login page) -> WinAuthHost -> IdSrv login (auth endpoint, fails) 
-> ADFS -> IdSrv login (auth endpoint) -> client app 
+0

私は実際にこれらのほとんどをwinauthの外部idpと自動リダイレクトを除いて使っていますが、例は正当なものです – stombeur

+0

ありがとうございます。これは便利ですが、全体的な流れについてはまだ分かりません。私の理解は、私はWindowsの認証を使用して実行され、IdSrv WinAuthコンポーネントをホストする別のWebアプリケーションを作成する必要があるということです(WinAuthHostと呼ぶ)。エンドユーザーの場合、フローは クライアントアプリ - > IdSrvログイン - > WinAuthHost - > ADFS - > WinAuthHost - > IdSrv - >クライアントアプリです。 そうですか? – Albert

+0

また、「失敗した場合、外部のwinauthプロバイダからログインしてadfsプロバイダに自動的にリダイレクトする失敗を検出するために、この手法を使用できますか?私はユーザーがADだけを使用してログインするようにします...失敗した場合、ユーザーはログインしてはいけません。どうぞお分かりですか? – Albert

関連する問題