問題タブ [identityserver4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
71232 参照

c# - IdentityServer4 は UserService を登録し、asp.net コアのデータベースからユーザーを取得します

UserServiceasp.netコアでIdentityServer4に登録する方法をすべて検索しましたが、正しい方法が見つからないようです。

これはここにあるInMemoryUsers を登録するコードですが、サンプルで定義されている静的ユーザーではなく、MSSQL DB からユーザーにアクセスしたいと考えています。

それで、IdentityServer3用のこれを見ました。

オンラインで読むと、DIシステムを使用してUserServiceを登録する必要があるようですが、IdentityServerにどのようにバインドするのかわかりません。

だから私の質問は:

UserServiceビルダー (IdentityServer4 ユーザー)にバインドするにはどうすればよいですか? また、データベースを呼び出して、既存の db ユーザーにアクセスして認証するにはどうすればよいでしょうかUserService(リポジトリを使用して db に接続します)。

これを考慮すると、これasp.net coreで動作する必要があります。

ありがとう!

0 投票する
0 に答える
746 参照

angularjs - OpenId Connect + SPA + バックエンド API + Identity Server

バックエンド API と通信する SPA (angular.js) があります。私が実装したいのは、API (ログイン ユーザー) の ID トークンを発行し、SPA のロールを設定する OpenId Connect のハイブリッド フローです。

私はこのサンプルに基づいてこれを行っていました - https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Mvc/src/IdSvrHost

[Authorize] 属性をコントローラーに設定してアクセスしようとすると、すべてうまく機能します。ログイン画面にリダイレクトされ、サインインできます。ユーザーのログインとクレームへのアクセスに AspNet OpenId Connect ミドルウェアを使用しています。

問題は、許可されていないユーザーになった後 (つまり、初めてユーザーがアプリケーションに入って [ログイン] ボタンをクリックしたとき) に、リダイレクトのない単純なログイン画面が必要なことです。

私が頭を包むことができないのはこれです(上記のサンプル、LoginController.csから):

ログイン画面は、この SignInId Cookie と ID (不正なリダイレクト中) を取得します。これは後で実際のログイン中に (SignInResult 用に) 使用されます。

1) ハイブリッド フローは、バックエンド API と共に使用される SPA を持つのに最適ですか? ここのクライアントと ID サーバーはどちらも私たちのものなので、信頼されています。

2) SignInId が必要ない場合、空白のログイン フォームを使用してハイブリッド フローを実装するには、どのようなアプローチが考えられますか?

3) SignInId が必要な場合、空白のログイン画面を表示し、このアプローチを使用するためのワークフローは何ですか? [Authorize] によるリダイレクトは、悲しいことに、現在私が目にする唯一のオプションです。

4) このアプローチ (OpenId Connect のハイブリッド フロー) はモバイル アプリでうまく機能しますか? (Cookie、ストレージなどを念頭に置いて)

5) 現在、Identity Server は別のプロジェクト内 (私の API の隣) にあります。API と Identity Server の両方が同じプロジェクト内 (自己ホスト型) にある場合、またはこれが何にも影響しない場合、何かが変わりますか? @カポック

書き込みプレビュー

0 投票する
1 に答える
1665 参照

oauth-2.0 - Thinktecture ID サーバー クライアントの選択と実装

ID サーバーを使用してクラウドから抜け出そうとしています。

認証できるように ID サーバー プロジェクトを実装したい

  1. ASP.NET MVC 5 アプリケーション
  2. ASP.NET Web API
  3. Windows サービスの実装

このブログ投稿では、クライアントに関する詳細をいくつか読みました。著者は簡単に次のように述べています。

OAuth 2 は、さまざまなユース ケースに対応するいくつかの「グラント タイプ」を提供します。定義されている付与タイプは次のとおりです。

  1. Web サーバーで実行されているアプリの認証コード
  2. ブラウザーベースまたはモバイル アプリの暗黙的
  3. ユーザー名とパスワードでログインするためのパスワード
  4. アプリケーション アクセス用のクライアント資格情報

Authorization Code と Implicit の違いは何ですか? これは、たとえば javascript コードで暗黙的に使用する必要があることを意味しますか?

私が必要としていると言うのは正しいです:

  1. ASP.NET MVC アプリケーションのパスワード許可
  2. Web API のクライアント資格情報
  3. Windows サービスの認証コード?

また別の質問ですが、ベアラー トークンと単純な apiKey のいずれかに基づいて、Web API に承認を実装したいと考えています。両方のタイプが結合できますか? Identity サーバーを使用して apiKey を実装するにはどうすればよいですか?

ばかげた質問でしたら、どうもありがとうございます。

0 投票する
2 に答える
152 参照

oauth - 暗黙のクライアント セキュリティが脆弱であるか、それとも懸念事項が有効でないか

私はIDサーバーで暗黙のクライアントを使用していますが、一方でネイティブのAndroidアプリがあり、

私のセキュリティ上の懸念は次のとおりです。

1-アプリのリバース エンジニアリング:攻撃者がclient_Id

redirect_uriおよび/またはresponse_type、ログイン要求を模倣することができます。

これを行うことにより、彼は元のクライアントになりすますことになります

2-中間者: それらclient_idは、暗号化されていない https URI を介して ID サーバーに送信されます。ヘッダーにそれらを非表示にしないのはなぜですか?

3- ブラウザは URI のトークンを再送信し、リダイレクト URI がoobまたはlocalhostでない場合、中間者にそれを明らかにします。ブラウザのデフォルトの動作はロケーションにリダイレクトするため、開発者がクライアントを登録するときに oob を使用するように強制できます。 、

ブラウザがリクエストを送信する前に、アプリがトークンを読み取っていないと言って、ブラウザを非常に速く閉じることができます。

ブラウザを閉じるアプリの速度に本当に頼ることができますか?

どの質問が正当な懸念であり、どれがそうでないか、また、正当な懸念を解決する方法。

ポイント 1 について: Google は Google マップなどのサービスをどのように保護しているか、クライアントの見積もりは非常に重要であり、非常に安全でなければなりません。

編集

client_id をヘッダーに渡して暗号化すると、http 1.1 仕様と oauth2 仕様に違反しますが、多くのことはしていません。