1

2つの異なるWebアプリケーションに接続する2つの異なるクライアントアプリケーションがjavascriptで作成されています。私は3Web api owin認証の背後にIDサーバーを実装する

  1. はそれが 認証APIエンドポイントowin私のWeb APIの背後IDサーバを持つことが可能ですアイデンティティサーバーを実装しようとしています。言い換えれば、 Web apiのowinからroute/tokenエンドポイントに、IDサーバーの エンドポイントをコール/認証することは可能ですか?
  2. ユーザーのIPおよびブラウザエージェントと一緒に失敗した要求を含むIDサーバーのログを監査することは可能ですか?また、 ウェブAPIがブラウザを使用しているユーザによって呼び出されているため、ウェブAPIから呼び出してもユーザのIPをログに記録できるのは ですか?
  3. 私の場合、異なる2つの異なるユーザーベースを2つの別々の プロジェクトに保存するか、すべてのユーザーをidentityserverに移動する必要があります。私がすべての ユーザー情報をidentityserverに移動すると、どのようにすべてのジョインを処理するのですか? 他のテーブルを別のアプリケーションにコピーするか、コピーしてください。 id、email、nameなどの最小情報を保持しますか?

ありがとうございます。

答えて

1

最初にWeb APIを呼び出し、その呼び出し中に認証を処理するのはほとんど意味がありません。

お客様のクライアントアプリケーションは、ログインするユーザーがアクセスするIdentityServerにブラウザをリダイレクトし、アクセストークン(暗黙的なフロー)または認証コード(AuthorizationCodeのフロー)とともにクライアントアプリケーションにリダイレクトする必要があります。バックエンドかどうか。次に、クライアントアプリケーションは、アクセストークンをAuthorizationヘッダーに渡してwebapiに要求します。

異なるユーザーベースについては、各ユーザーベースに対して特定のIUserServiceを実装し、どちらを使用するかについてのヒントをacr_valuesに送信するか、IdentityServiceに登録された特定のクライアントに関連付けます。再度、要件に応じて。

1

私のWebアプリケーションの認証APIの終点の背後にIDサーバを置くことは可能ですか?言い換えれば、Webアプリケーションのowinから/トークンエンドポイントをルーティングして、IDサーバのエンドポイントをコール/認証することは可能ですか?

はいといいえ - これらのリクエストは再ルーティングできませんが、Webアプリケーションと同じアプリケーションでホストすることはできます。 Startup.csで、フォルダをidentityserverにマップします。 まず、この2つのAPIのどちらがidsrvをホストするのでしょうか?そのAPIがダウンしてidsrvを受け取ると、もう一方のapiはもう動作しません。 - >ホストidsrvは別に、両方のAPIを作成し、idsrvでクライアントをアプリjavascriptの両方が、(= SSO)のjavascriptのアプリケーションからidsrvするにはログインしてDBへのログイン監査することが可能ですAPI

ためのベアラトークンを使用しますユーザのIPおよびブラウザエージェントと一緒に失敗したリクエストを含むアイデンティティサーバ内で実行されます。また、私のWeb APIがブラウザを使用しているユーザによって呼び出されているので、Web APIから呼び出していてもユーザのIPを記録することは可能ですか?

idsrvのログ実装を確認してください。少なくとも、データベースに書き込むプロバイダをプラグインできる必要があります。

私のケースでは、2つの異なるプロジェクトの2つの異なるユーザーベースを維持するか、すべてのユーザーをidentityserverに移動する必要があります。私がすべてのユーザー情報をidentityserverに移動すると、別のアプリケーションで他のテーブルとのすべての結合をどのように処理するのでしょうか、またはID、電子メール、名前などの最小情報を持つユーザーのコピーを保持する必要がありますか?

Idsrvには電子メールアドレスだけで十分ですが、それを一意の識別子として使用すると、apiデータベースのユーザーデータへのリンクとして使用できます。

関連する問題