問題タブ [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 に答える
261 参照

identityserver3 - バージョン 3 で知られている IdentityServer4 の欠落プロパティ

IdentityServer 4 (1.0.0-rc2) サーバーをセットアップしようとしています。ドキュメント ( http://identityserver4.readthedocs.io/ ) の指示に従いましたが、IdentityServer3 で慣れ親しんだ機能がいくつか欠けているようです。

IdentityServer4 に関するこの記事 ( http://elemarjr.com/en/2016/04/18/learning-identityserver4-part-1-securing-an-webapi/ ) を見つけましたが、この記事で説明されているいくつかのこと最新バージョンでは利用できないようです(その記事は古いバージョンに対して書かれたと思います)。

証明書を設定するには、IdentityServerOptions オブジェクトで設定するのではなく、ビルダー オブジェクトで直接設定する必要があることがわかりました。したがって、これを行う代わりに:

私は今これを行います:

  1. 私が見つけられないように見えるのは、RequireSslプロパティを定義する方法です。
  2. IdentityServerFactory設定方法を教えてください。

IdentityServer4 に関するその他のドキュメントを含む場所はありますか?

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

asp.net-identity - 「ClaimsIdentity.BootstrapContext」は、テスト データでデータベースを初期化するときにエラーをマップできませんでした

IdentityServer4 を使用して認証サーバーをセットアップしようとしています。コードを実行してテスト データを生成しようとすると、次のエラーが発生します。以下はコードです

エラーは次の場合に生成されます

実行されます。

以下は生成されたエラーです

ソース = Microsoft.EntityFrameworkCore StackTrace: Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.PropertyMappingValidationConvention.Apply(InternalModelBuilder modelBuilder) で Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.OnModelBuilt(InternalModelBuilder modelBuilder) で Microsoft.EntityFrameworkCore.Infrastructure. System.Collections.Concurrent.ConcurrentDictionary の ModelSource.CreateModel (DbContext コンテキスト、IConventionSetBuilder コンベンションセットビルダー、IModelValidator バリデーター)2.GetOrAdd(TKey key, Func2 valueFactory) で Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel() で Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value() で Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) で Microsoft.Extensions. ReportBook の Microsoft.EntityFrameworkCore.DbContext.SetTEntity の Microsoft.EntityFrameworkCore.DbContext.get_Model() の Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider プロバイダー) の DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider プロバイダー、タイプ serviceType)。 C:\Users\Julius\Documents\Projects\School\Development\ReportBook\ReportBook.Auth\Startup の Auth.Startup.InitializeDbTestData(IApplicationBuilder アプリ)。C:\Users\Julius\Documents\Projects\School\Development\ReportBook\ReportBook.Auth\Startup.cs:line 233 の ReportBook.Auth.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) の cs:line 166内部例外:

以下は私のスタートアップクラスです

どんな助けにも感謝します

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

asp.net-core - IdentityServer4 パスワード許可

ID サーバー 4 のインスタンス、API プロジェクト、および UI を立ち上げました。

ワークフローは次のとおりです。

  1. ユーザーが UI にアクセスします。
  2. ユーザーはユーザー名とパスワードを UI に提供します。
  3. UI は Web アプリの背面に資格情報を送信し、パスワード付与を使用して IdentityServer4 でユーザーを認証します。
  4. IdentityServer4 はトークンを返します。
  5. トークンは、ユーザーが UI に対して誰であるか、およびユーザーがサイトの特定のセクションにアクセスできることを識別するために使用されます。
  6. ユーザーがサイト内で何かをする必要がある場合、トークンはベアラー認証を介して API に渡されます。

これはファースト パーティのアプリであり、ユーザーをメイン サイトからリダイレクトする意味がないため、パスワードの許可は交渉できません。

これに使用する適切なミドルウェアのセットは何ですか? CookieAuthenticationMiddleware を使用して、トークンをクレームとして添付する必要がありますか? HttpContext.User クレームからクレームにアクセスする必要があります。IdentityMiddleware を使用する必要がありますか?

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

https - IdentityServer4 クイックスタートで https を使用するとハングする

私はIdentityServer4を学ぼうとしているので、ここのドキュメントから始めましたhttps://identityserver4.readthedocs.io/en/dev/quickstarts/0_overview.htmlそしてこれで終わりましたhttps://identityserver4.readthedocs.io/en/dev/ quickstarts/1_client_credentials.html .

http を使用している限り、すべてがうまく機能しますが、https の使用に切り替えるとすぐに、クライアント テスターのコードの最初の行

ハングし、最終的にタスクがキャンセルされた例外を受け取ります。

すべてをhttpに戻すだけで、再び機能し始めます。

実際の IdentityServer ソリューションでは、launchSettings.json で applicationUrl と launchUrl を変更しました。

そして Program.cs の .UseUrls

クライアント ソリューションでは、上記のように、検出エンドポイントを呼び出すコードを http の代わりに https を使用するように変更しました。

明確にするために、記載されているすべての項目を http と https の間で変更するだけで、http では機能しますが、https では機能しません。2 つのテスト間で他に何も変更はありません。

https が機能しない原因となっているものはありますか?

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

c# - IdentityServerAuthentication IdentityServer4 との統合テスト

この質問「インメモリ IdentityServer との統合テスト」のように、IdentityServer4 の実装に対していくつかの統合テストを行いたいと思います。

このチュートリアルIDENTITYSERVER4, WEB API AND ANGULAR2 IN A SINGLE ASP.NET CORE PROJECTに従って、IdentityServer4 と同じプロジェクトでユーザーを管理するための API を追加しました。

しかし、IdentityServer が HTTP 要求で discoveryEndpoint を呼び出そうとしたため、統合テストは失敗しました。

したがって、この質問「インメモリIdentityServerとの統合テスト」では、@emedboがFakeAccessTokenValidationを作成しますが、その方法がわかりません。

ありがとう。

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

asp.net-core - IdentityServer v4 の ASP.NET Core クライアントでの通知

IdentityServer 3 ではSecurityTokenValidated、通知のイベントを使用して、名前とクレームで自分の ID を構築しました。たとえば、access_token後で n API にアクセスするために、次のようなリソース オーナー ワークフローを使用して保存します。

ASP.NET Core の IdentityServer 4 には Notifications プロパティはありません。多くのクレームが自動的に生成されていることがわかりaccess_tokenますが、ID のユーザー名も自動的に設定されません

ASP.NET Core のクライアントの現在の構成は次のようになります

これを行うためにIdentityServer 4で意図された方法は何ですか?

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

asp.net-web-api - IdentityServer4 を使用して現在のユーザーにアクセスするにはどうすればよいですか?

SPA Web アプリ + IdentityServer4 + ASPNET Core + ASPNET Core Identity を構築しようとしています。私は Identityserver ドキュメントのクイックスタートに従っていますが、これは本当に素晴らしいものです。私はJSクライアントを使用したクイックスタートIdentity Server Quickstartにもっと興味があります

私はそれに従ってきましたが、これまでのところとても良いです。次のように、いくつかのフィールドと関連テーブルをユーザーに追加しました。

app_user

これはソリューション エクスプローラーです

ソリューション エクスプローラー

ユーザーとそれに関連するテーブル/フィールドを表示するページを作成したいと考えています。(基本的に、私の質問は、現在のユーザーにアクセスし、JS クライアントが使用する API を公開する方法です)

どうすればそれを達成できますか?(以下に説明するすべてのポイントは、オンラインで読んだだけで、実装方法がわかりません)

  • ユーザーをセッションに保存する必要がありますか? そこからアクセス?
  • connect/userinfo エンドポイントを使用する必要がありますか?

お知らせ下さい。

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

asp.net - IdentityServer を使用した AspCore クライアント グローバル サインアウト

非コアのasp mvcアプリケーションでは、ユーザーをグローバルにサインアウトするためのコントローラーアクションがありました

このように見えました

今、私はASPコアクライアントを持っていて、試したログアウトが必要です

アップデート

ログアウトしたように見えますが、認証が必要なサイトにリダイレクトしています。すぐに再びアイデンティティ サーバーにリダイレクトされ、自動的に再びサインインされることがわかります。

要約: ASP アプリケーションではログアウトされますが、ID サーバーではログアウトされません。

グローバルにサインアウトするにはどうすればよいですか? ID サーバーにサインインする必要がありますか?