さまざまなアプリケーション(.net)の認証と承認を行う中央機関を構築したいと考えています。 IdentityServer4はオープンソースで無料ですが、Auth0は費用がかかります。これらの両方を使用する人はいますか?誰がどれを選ぶべきか、そしてその理由を誰かが提案できますか?
IdentityServerは、さまざまな認証(承認ではない)プロトコルを実装するライブラリであり、アクセス制御を単一のシステムに統合できます。 HTTPエンドポイントが利用可能であれば、通常のASP.NET Webアプリ、コンソールアプリなどでホストできます。また、インメモリ、データベース、フラットファイル、asp.netコアメンバーシップシステムなど、どこにでもユーザーデータを保存できます。
Auth0は、認証を処理するマネージドサービスを提供する会社です。彼らはインフラストラクチャを実行し、WebサイトとAPIを通じてアクセスを提供します。これは、誰かがあなたのためにIdentityServer4を実行するのに似ており、 Okta for Devs 、 AWS Cognito 、 Azure AD B2C 、 Google Cloud Identity/Firebase など。
次の場合にIdentityServerを選択します:
次の場合にAuth0を選択します:
Identity Serverは、認証と承認を処理するサーバーアプリケーションを構築することを意味します。これにより、Auth0がOpenIdConnect(OIDC)に対して行う処理を複製できます。IdentityServer4を使用する場合でも、いくつか実装する必要があります。最初にそれをビルドしてから、アプリケーションを統合する必要があります。
Auth0を使用すると、追加のエンタープライズ機能を備えたOIDCとすぐに統合できます。
どちらもフェデレーションプロトコル(WS-Fed、SAML、OpenID Connectなど)を実装しています。
それらを使用するためにあなたのアプリ。適切なクライアント側スタックが必要です。
これがないと使えません。
唯一の代替手段はパススルー、つまり Auth です。
または、ADFS WAP経由のパススルーを持つADFSを確認します。
スタックがある場合は、どちらも機能します。
idsrv4にはユーザー管理ポータルがありません。ユーザーを作成し、ユーザーOOTBにグループを追加します。
Auth0は行います。
idsrv4は基本的に、コードによって機能を追加します。 Auth0には設定があります。ウィザード経由。
idsrv4はオープンソースなので、思いのままにカスタマイズできます。システムをブリッジするのは本当に便利です。
Azure ADは別のオプションです。