問題タブ [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 投票する
1 に答える
955 参照

asp.net-mvc-4 - Identity Server 3 のローカリゼーションを実装する方法

複数のクライアントを認証するための個別のサーバーとして、identityserver3 があります。

ローカライズしたいのですが、そのためにIdentityServer3.Contrib.Localizationを使用しましたが、これが使用法であることがわかりました。

IdentityServer スタートアップ クラスには、次のようなサービス ファクトリがあります。

そしてオプションで:

ローカリゼーション サービスを identityserver servicesFactory に登録しようとしましたが、正しく動作しませんでした。また、使用方法のサンプルも見つかりませんでした。

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

asp.net-web-api2 - asp.net 5 と IdentityServer4

ASP.NET 5 を使用したサイト再構築のプロトタイプに取り組んでおり、認証と承認に IdentityServer4 を使用することについて議論しています。IdentityServer3 と 4 のセットアップに関するサンプルと記事を多数確認しましたが、クライアントの要件を適切な方法で処理できるかどうかを理解しようとしています。これが私の要件です。

承認が必要なサイトが 3 つあります。サイト 1 (abc.com) は Windows 認証を必要とし、承認のためにロール (またはクレームに変換されたロール) を使用した mvc 呼び出しと webapi 呼び出しの組み合わせになります。サイト 2 (def.com) は、送信時にユーザーを認証してサイト 3 (xyz.com) にリダイレクトするユーザー名/パスワード/rememberme テキスト ボックスを含むログイン ウィジェットを必要とする信頼できるサイトです。サイト 3 にも独自のログイン ページがあり、クレームを使用した mvc 呼び出しと webapi 呼び出しの組み合わせになります。サイト 2 と 3 は Windows 認証を使用せず、クライアントは ID サーバーのログイン画面にリダイレクトするのではなく、独自のログイン画面を持ち、ログインする資格情報を使用してコードから ID サーバーを呼び出すことを望んでいます。

このシナリオと IdentityServer4 に関する私の質問は次のとおりです。

  1. Idsvr4 は、Windows 認証を使用して 1 つのクライアントを処理し、ユーザー名/パスワード認証を使用して別のクライアントを処理できますか?
    • もしそうなら、idsvr4 で Windows 認証を使用する理由はありますか?それとも、webapp 内で標準の Windows 認証を使用する必要がありますか?
  2. idsvr4 をセットアップして、クライアントがユーザー名/パスワード/rememberme の値を収集し、コードを介してそれらを渡して、mvc と webapi の両方の適切な jwt トークンを取得できますか?

    • その場合、別のサイトの mvc アプリケーションと webapi アプリケーションの両方にログインできますか?

    • もしそうなら、これはidentityserver4の本当の目的を回避しているので、悪い考えですか?

  3. このシナリオを処理でき、良いアイデアである場合、コードとリダイレクトを介してログインを処理するために、クライアント、スコープ、およびコードをどのようにセットアップしますか?

例は素晴らしく、大歓迎ですが、このシナリオを検索するためにどの言葉遣いを使用すればよいかさえわからないため、正しい方向に向けることさえできれば非常に役立ちます.

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

asp.net-core - IClaimsTransformer を使用した User.IsInRole("Administrators") は常に false

次のような実装administratorsで、認証後にユーザー クレームにロールを追加します。IClaimsTransformer

(principal.Identity as ClaimsIdentity).AddClaim(new Claim(ClaimTypes.Role, "Administrators")); しかし User.IsInRole("Administrators")、Razor ビューを呼び出すと、false が返されます。

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

c# - メモリ ストア内の代わりにデータベースを使用する ID サーバー 4

メモリ ストアではなくデータベースを使用するように identityserver 4 をカスタマイズする方法を教えてください。

オーバーライドする必要があるクラスのリストとその構成方法

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

asp.net-core - 有効な JWT の生成

私は今週末、Identity Server 4 を使い始めました。ほとんどの場合、その使いやすさに感銘を受け、access_token を作成する手順をよく理解できたように感じます。トークンの作成に Implicit-Flow と ResourceOwner-Flow の両方を使用しています。

私の問題は、identityserver3 wep API が作成された JWT を検証できないことです。手動検証に jwt.io を使用している場合にも失敗します。

トークンの例:

eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2Iiwia2lkIjoiRkRFQUE5NTBDRjczODM0MzEwNTZBNzY3Mjc1RTNEMzE5N0VERDJGOSIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0NjMzNDM2MjgsImV4cCI6MTQ2MzM0NzIyOCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwL3Jlc291cmNlcyIsImNsaWVudF9pZCI6ImJyZnBvcnRhbF9hcGkiLCJzY29wZSI6ImJyZnBvcnRhbGJhY2tlbmQiLCJzdWIiOiIyIiwiYXV0aF90aW1lIjoxNDYzMzQzNjI4LCJpZHAiOiJpZHNydiIsInVuaXF1ZV9uYW1lIjoidGVzdCIsImJyZklkIjowLCJhcHROYnIiOiIwIiwiYW1yIjpbInBhc3N3b3JkIl19.iUvP7jVYSZPXozF0htLbaRrl_iqz_JOIczU5WpIoA5RHfgY17YGN4ERm-8NNPvXQBgJDe2ZeCpLV3MJR4smSOx​​NOBlzWWlgGApl5VauE62L0POxUnwzRFt2OYh5MVcilz0hRaKstB02EPXy-rDmgsNY8u_iT0bPU8bDD0XTETPy7QRldSMNKfUmeMOC0y8RQYypmXlZsO89HlseyfqE4kptruAho_EIp61qQ3CchJrkXwSB9YBWz4PrJHAiEA_ntzskOQ7K_96jQYZDH2NxaIQRKz7RPZWQreZHtnM7tUG6PNYI02raUFF7w8SQFTjjKUBQROcPezKZMtgFiv-c2Ww

私が見る1つの問題は、私の理解によれば、Web APIがチェックすることです

http://localhost:5000/.well-known/openid-configuration/jwks

公開鍵の公開鍵の場合。公開鍵は、「x5c」フィールドで利用できることがわかる限りですが、jwt.io の検証に使用すると機能しません。

FDEAA950CF7383431056A767275E3D3197EDD2F9

私の証明書の拇印です。これは、私の JWT の「子供」フィールドと同じです。しかし、jwks 応答の「kid」フィールドが同じであってはなりません。

これはアイデンティティサーバーの私のコードです:

クライアント、スコープ、およびユーザーの InMemory 構成で identityserver4 をセットアップします。正しいデータを含むJWTを取得する場合と同様に、これは機能しているようです。

問題がそこにあるとは思わないので、ここでは Clients、Scopes、および Users クラスを追加しません。

IdentityServer3.AccessTokenValidation を使用した Web API のコードは次のとおりです。

API が ID サーバーにアクセスしていることをログから確認できますが、プロセスの問題を見つけようとしても、「この要求に対して承認が拒否されました」というメッセージが表示され続けます。すべてのリクエストに。

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

asp.net - IIS を使用する IdentityServer 4

IdentityServer 4 を使用しようとしています。今のところ、このリンクhttps://github.com/IdentityServer/IdentityServer4.Samplesを例として使用しています。

私の問題は、 http://localhost:22530/ IdentityServer の読み込みと動作を使用することですが、 http://identity.test.dev の下の IIS でホストされている Web サイトとして使用すると、読み込まれません。

この例https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Mvc/src/IdSvrHostからコードを実行しようとしましたが、うまくいきません。

http://identity.test.devを介して IIS で IdentityServer を起動するにはどうすればよいですか?

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

javascript - API 認証を必要とする大きなイメージ タグの表示

現在、Cookie 認証の使用から ID サーバーへの切り替えを行っているシステムを使用しています。アプリケーションのフロント エンドは、KnockoutJS を使用した SPA です。SPA は、そのコンテンツの WebAPI スコープにアクセスできます。

現在、SPA が Identity Server のベアラー トークンを取得し、Authentication ヘッダーでトークンを渡す API に ajax 呼び出しを行うことができるようにするコードが用意されています。現在直面している問題は、以前は WebAPI に直接リンクしていた一部のイメージ タグの src 属性を置き換える方法です。

例は次のとおりです。

これは、以下のメソッドと同様のメソッド シグネチャを使用して Web API と通信していました (この記事では省略しています)。

これまでに見たアプローチの 1 つは、API を変更して base64 でエンコードされた画像を返し、ajax を使用して画像文字列を要求し、それを src として設定できるようにすることです。

ただし、この方法を使用して表示できる画像ファイルにはサイズ制限があり (ブラウザーによって異なるようです)、多くの画像がこの方法には大きすぎるため、これは現在のシステムではオプションではありません。

大きな画像をブラウザに安全に渡す他の方法はありますか?

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

angularjs - IdentityServer 4 でログインした後、ユーザー クレームを取得するにはどうすればよいですか?

このサンプルを使用して、Angular および WebApi (ASP.NET Core) で IdentityServer4 をセットアップしました: https://github.com/damienbod/AspNet5IdentityServerAngularImplicitFlow

すべてが機能しており、ログインして API などすべてを使用できますが、問題は、ログイン後にユーザー情報を取得できないことです。特定のユーザーを取得できるように subjectId が必要です。クレームか何かで返されると思っていたのですが、クッキーに表示されるのはトークンだけです。