web-dev-qa-db-ja.com

IdentityServer4とAuth0

さまざまなアプリケーション(.net)の認証と承認を行う中央機関を構築したいと考えています。 IdentityServer4はオープンソースで無料ですが、Auth0は費用がかかります。これらの両方を使用する人はいますか?誰がどれを選ぶべきか、そしてその理由を誰かが提案できますか?

18
martial

IdentityServerは、さまざまな認証(承認ではない)プロトコルを実装するライブラリであり、アクセス制御を単一のシステムに統合できます。 HTTPエンドポイントが利用可能であれば、通常のASP.NET Webアプリ、コンソールアプリなどでホストできます。また、インメモリ、データベース、フラットファイル、asp.netコアメンバーシップシステムなど、どこにでもユーザーデータを保存できます。

Auth0は、認証を処理するマネージドサービスを提供する会社です。彼らはインフラストラクチャを実行し、WebサイトとAPIを通じてアクセスを提供します。これは、誰かがあなたのためにIdentityServer4を実行するのに似ており、 Okta for DevsAWS CognitoAzure AD B2CGoogle Cloud Identity/Firebase など。

次の場合にIdentityServerを選択します:

  • あなたは無料のオープンソースソフトウェアを求めています。
  • 自分で実行する時間と労力があります。
  • バッキングデータストア(SQLデータベース、Redis、JSONファイルなど)を制御したい。
  • 規制やプライバシーなどの理由により、すべてのデータを自分で管理したい。
  • 認証中に発生することについて完全な制御と柔軟性が必要です(たとえば、誰かがサインインしたときにデータベースのユーザーアカウントをマージするなど)。すべてC#コードにすぎないので、好きなことができます。

次の場合にAuth0を選択します:

  • 実装と運用の時間と労力を節約したい。
  • 価格は問題ではありません(一部の機能では高額になる可能性があるため)。
  • Auth0によって提供される限定されたカスタマイズでアプリは十分です。
  • パスワード違反の監視など、他の機能も必要です。
  • ユーザーデータを管理したくない、またはユーザーがデータを保存することを気にしません。
15
Mani Gandham

Identity Serverは、認証と承認を処理するサーバーアプリケーションを構築することを意味します。これにより、Auth0がOpenIdConnect(OIDC)に対して行う処理を複製できます。IdentityServer4を使用する場合でも、いくつか実装する必要があります。最初にそれをビルドしてから、アプリケーションを統合する必要があります。

Auth0を使用すると、追加のエンタープライズ機能を備えたOIDCとすぐに統合できます。

2
Mark Redman

どちらもフェデレーションプロトコル(WS-Fed、SAML、OpenID Connectなど)を実装しています。

それらを使用するためにあなたのアプリ。適切なクライアント側スタックが必要です。

これがないと使えません。

唯一の代替手段はパススルー、つまり Auth です。

または、ADFS WAP経由のパススルーを持つADFSを確認します。

スタックがある場合は、どちらも機能します。

idsrv4にはユーザー管理ポータルがありません。ユーザーを作成し、ユーザーOOTBにグループを追加します。

Auth0は行います。

idsrv4は基本的に、コードによって機能を追加します。 Auth0には設定があります。ウィザード経由。

idsrv4はオープンソースなので、思いのままにカスタマイズできます。システムをブリッジするのは本当に便利です。

Azure ADは別のオプションです。

1
nzpcmad