渚  直樹

渚 直樹

1658644500

JWTを使用してアプリを構築するための上位7つの認証プロバイダー(2022)

「認証サービスプロバイダー」とは、認証サービスを提供するエンティティを指します。認証プロバイダーは、認証システムを最初から手動で実装する複雑さを抽象化するため、より重要なタスクに集中できます。

この記事では、認証プロバイダーを使用することのメリットとデメリットを紹介し、JWT統合をサポートする既存のプロバイダーを比較します。

認証プロバイダーの長所と短所

認証サービスプロバイダーを選択する前に、それを使用することの利点と欠点を評価することが不可欠です。

プロ:複雑さを抽象化

認証サービスプロバイダーを使用すると、認証システムを自分で実装する複雑さが抽象化されます。このようなシステムの構築は、多くのリソースを必要とする複雑で時間のかかるプロセスです。

これらのリソースを他のより重要なタスクのために解放する既存のソリューションを使用できます。

プロ:ユーザー情報の保存なし

人に関する機密情報を保存することは、軽視することではありません。プロバイダーの使用を選択すると、サーバーにユーザーの詳細を保存することを心配する必要がなくなります。

プロ:ソーシャルログインを活用する

Auth Service Providerを使用すると、最小限の労力でソーシャルログインを有効にできます。ソーシャルログインとは、Twitter、GitHub、Googleなどの既存のソーシャルネットワークアカウントを使用してログインすることです。

各ソーシャルプロバイダーを個別に実装するには、労力とリソースが必要です。認証プロバイダーを使用すると、ソーシャルログインの追加がより簡単かつ迅速になります。

プロ:セキュリティの向上

認証プロバイダーの使用を選択すると、セキュリティが向上します。認証プロバイダーの全体的な焦点は、認証と承認にあります。つまり、ユーザーの情報を安全に保つためのトレーニングと設備が整っているということです。

短所:移行が難しい

認証サービスプロバイダーを選択すると、移行が困難になる可能性があります。別のプロバイダーに変更したり、独自のシステムをローリングしたりするのは難しい場合があります。

認証プロバイダーを使用することが理にかなっているかどうかを判断することが重要です。それを行うことを選択した場合は、ニーズと要件に合ったプロバイダーを選択してください。

短所:プロバイダーのロックイン

もう1つの欠点は、使用しているプロバイダーに依存しすぎる可能性があることです。その理由は、実装がそのベンダーに固有であるか、現在のユーザーデータをエクスポートすることがほぼ不可能であることが原因である可能性があります。

別のプロバイダーへの移行は、コストと時間がかかりすぎる可能性があるため、現在のプロバイダーでロックされます。

短所:コスト

最初は、コストは問題ではないかもしれません。ただし、アプリケーションが大きくなり、ユーザー数が増えると、コストが問題になる可能性があります。

認証プロバイダーの多くは、月間アクティブユーザー数に基づいて課金されます。ユーザーが多いほど、請求額は大きくなります。

結論

認証サービスプロバイダーを使用する必要がありますか、それとも独自のシステムを実装する必要がありますか?決定的な答えはありません。

プロバイダーを使用するかどうかの決定は、多くの要因に依存します。一部の人にとっては、認証プロバイダーを使用することが適切なソリューションですが、他の人にとってはそうではありません。

使用する場合は、読み続けて、利用可能なさまざまな認証サービスプロバイダーについて学習してください。

認証プロバイダーの選択

この記事では、次の認証サービスプロバイダーを比較しています。

  • auth0
  • FirebaseAuth
  • 店員
  • KeyCloak
  • 学んだこと
  • スーパートークン
  • Nhost

これらの認証プロバイダーは、6つの評価基準に基づいて評価されます。

1.オープンソース

オープンソースプロジェクトには、いくつかの利点があります。1つの利点は、コスト削減です。オープンソースであるため、ライセンス料や使用料は必要ありません。

もう1つの利点は柔軟性です。ビジネス要件が変更された場合、または追加機能が必要な場合は、コードを自分で変更および拡張できます。ベンダーに変更を依頼したり、完全に変更したりする必要はありません。

透明性についても言及することが重要です。コードは誰でも見ることができます。非常に多くの専門家がコードにアクセスできるため、ソフトウェアをより良く、より安全にすることができます。

オープンソースの認証プロバイダーを使用することには他にも利点がありますが、これらの利点がポイントを押し上げます。

2.カスタムJWTクレーム

認証サービスプロバイダーをHasuraと統合するときは、それらがカスタムJWTクレームをサポートしていることを確認することが重要です。

Hasuraは、カスタムJWTクレームをチェックして、リクエストを行うユーザーの役割について学習します。その結果、Hasuraは適切な承認ルールを適用できます。

{    'x-hasura-default-role': 'user',    'x-hasura-allowed-roles': ['user'],    'x-hasura-user-id': user.user_id};

上記のスニペットは、カスタムJWTクレームの例を示しています。リクエストに関する重要な情報が含まれています。

3.シングルサインオン(SSO)のサポート

簡単に言うと、SSOは、ユーザーが1セットの資格情報を使用して複数のプラットフォームにログインする認証の種類を指します。

一例として、ユーザーがGoogleアカウントなどのソーシャルネットワークアカウントを使用してアプリケーションにログインするソーシャルSSOがあります。

4.マシン間認証

リクエストを行うのは必ずしもユーザーではありません。2台のマシンがそれらの間で通信するシナリオがあります。資格情報を入力するユーザーがいないため、クライアント(別のマシン)を別の方法で認証する必要があります。

マシンツーマシン(M2M)認証とは、ユーザー入力なしでマシンを認証することを指します。これは、OAuth2.0クライアント資格情報フローを使用することで可能になります。資格情報には、クライアントの認証に使用されるとがclient_id含まれます。client_secret

5.無料利用枠

この記事のすべての認証プロバイダーには無料枠があります。違いは、その層で提供されるものにあります。

毎月のアクティブユーザー(MAU)を測定し、それに基づいて課金します。その結果、一部のプロバイダーは数千のMAUを備えた無料枠を提供していますが、一部のプロバイダーは数百のMAUしか提供していません。

6.統合のしやすさ

認証サービスプロバイダーの統合は、多くの要因に依存します。プロバイダーの統合がいかに簡単か困難かを提示するのは困難です。

ただし、次のように、実装の難易度を示す可能性のあるポイントがいくつかあります。

  • ドキュメントの品質
  • 利用可能なSDK
  • 必要な構成の量
  • 利用可能な資料

プロバイダーの比較

この画像は、この記事で紹介した認証プロバイダー間の比較を示しています。

認証プロバイダーの比較

auth0

Auth0は、認証サービスのための定評のある人気のあるソリューションです。それは寛大な無料利用枠が付属しており、あなたが必要とするほとんどのものをサポートしています。

オープンソースいいえ
SaaSはい
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プランはい-最大7000MAU

統合のしやすさに関して言えば、Auth0は統合が簡単でも難しいものでもありません。これは確立された広範なソリューションであるため、統合に役立つ大量の資料を利用できます。実行する必要のある構成の量は、アプリケーションのタイプと複雑さによって異なります。

Firebase認証

Firebase Authenticationは、アプリケーションに認証を追加できるもう1つの人気のある認証サービスです。

Firebaseでは、次のようなサインインメソッドを追加できます。

  • Google、FacebookなどのIDプロバイダー
  • メールアドレスとパスワード
  • 電話
オープンソースいいえ
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン電話認証以外は無料

利用可能なリソースの量により、統合プロセスがより簡単になります。Firebaseコミュニティは、使用できる多くのオープンソースリソースを作成します。また、定評のあるプロバイダーでもあります。つまり、ほとんどすべての問題の解決策を見つける可能性があります。

最後に、FirebaseAuthをウェブアプリケーションとモバイルアプリケーションの両方に実装する方法をカバーする詳細なドキュメントがあります。

店員

他のプロバイダーと比較して、店員は最新のものです。Clerkを使用すると、サインアップ、サインイン、およびユーザープロファイルをアプリケーションに実装できます。彼らのウェブサイトによると、彼らは「完全な顧客アイデンティティプラットフォーム」です。

店員さんにはハスラのサポートも付いています。彼らには、ClerkをHasuraと統合する方法を紹介する特別なドキュメントセクションがあります。

オープンソースいいえ
SaaSはい
SSOサポートソーシャルSSO
JWTカスタムクレームはい
マシンツーマシン認証いいえ
無料プランはい-最大500MAU

比較的新しいため、まだ文書化/解決されていない問題が発生する可能性があります。それ以外に、店員は広範囲にわたる詳細なドキュメントを持っています。

Clerkをアプリケーションと統合するために必要な構成は最小限です。Clerkアカウントが必要です。そうすれば、SDKとそれらが提供するコンポーネントを使用できます。

キークローク

Keycloakは、人気のあるオープンソースの認証サービスプロバイダーです。オープンソースなので、セルフホストできます。つまり、月間アクティブユーザー数に関係なく無料です。

オープンソースであり、誰もが貢献できるようになっていますが、プロジェクトはRedHatによって管理されています。つまり、プロジェクトを信頼できるということです。

Keycloakはほとんどの認証のユースケースをサポートしており、無料でもあるため、優れた選択肢となる可能性があります。

オープンソースはい
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン無制限のユーザーは無料

Keycloakには、中程度の実装の難しさがあります。Keycloakをアプリケーションに統合するだけでなく、デプロイメントとメンテナンスにも注意を払う必要があります。

一見複雑に見えるかもしれませんが、Keycloakにすぐに慣れることができます。また、確立された製品であるため、ほとんどの問題の解決策が見つかる可能性があります。最後に、優れたドキュメントがあります。

学んだこと

Cognitoは、認証を処理するためのAmazonの製品です。これにより、Webおよびモバイルアプリケーションに認証を実装できます。

Cognitoは最も寛大な認証プロバイダーの1つであり、月間最大50,000人のアクティブユーザーがいる無料プランを提供します。コストが懸念され、マネージドソリューションが必要な場合は、Cognitoが最適です。

オープンソースいいえ
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン最大50000の月間アクティブユーザー(Cognitoユーザープールに直接サインインする)を無料で利用できます

統合の容易さに関して、Amazon Cognitoは、他のプロバイダーと比較して実装が非常に困難になる可能性があります。Cognitoは、基本的なアプリケーションであっても、複雑なセットアップを必要とします。

ただし、Cognitoをアプリケーションに統合するのに役立つ公式およびコミュニティの資料はたくさんあります。いくつかのSDKとサンプルアプリも利用可能で、あなたを助け、刺激を与えます。

CognitoをHasuraと統合する方法を学ぶ

スーパートークン

SuperTokensは比較的新しいサービスです。必要なほとんどすべてのサポートが付属しており、オープンソースでもあります。つまり、セルフホストして追加料金を回避できます。セルフホストを選択した場合、無制限のユーザーは永久に無料です。

SuperTokensにはHasuraのサポートが付属しており、SuperTokensをHasuraと統合する方法に関する特別なセクションがあります。

オープンソースはい
SaaSはい
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン無制限のユーザー(セルフホスト)と最大5000 MAU(SaaS)を無料で利用できます

統合のしやすさに関しては、アプリケーションと統合しようとすると、いくつかの問題が発生する可能性があります。その理由は、これは新しいサービスであり、現在インターネット上で利用できる資料があまりないためです。

構成に関しては、ドキュメントに必要なすべての設定と情報が記載されているため、SuperTokenの使用を開始するのはかなり簡単です。

SuperTokensには、SuperTokensをHasuraと統合するためのガイド、およびサンプルのSuperTokens+Hasuraデモアプリケーションもあります。

Nhost認証

Nhost Authenticationは、Hasuraのオープンソース認証サービスです。Nhost認証を使用すると、次の方法でサインインできます。

  • メールアドレスとパスワード
  • GitHub、Google、Apple、Facebook、Twitter、LinkedInなどのOAuthプロバイダー
  • マジックリンク
  • SMS

これはオープンソースプロジェクトであるため、セルフホストして、マネージドサービスを使用するときに支払う追加料金を回避できます。

オープンソースはい
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証いいえ
無料プラン無制限のユーザーは無料

統合の容易さに関して言えば、Nhost認証はHasuraアプリケーションと統合するのがかなり簡単です。Hasura、Hasura Auth、Postgresを備えたすぐに使えるバックエンドを提供するNhostを介してアプリケーションを作成するか、NhostAuthenticationDockerイメージを使用してアプリケーションをセルフホストすることができます。

ここでNhost認証を確認できます。

スケーラビリティに関する注記

スケーラビリティとは、アプリケーションの成長とビジネス要件の変化を処理する認証サービスの機能を指します。認証サービスは、アプリケーションに影響を与えることなく、ユーザーの成長と要件の変化に対応する必要があります。

セルフホストソリューションを使用する場合は、スケーリングに関して全責任を負います。データベース、サーバー、およびインフラストラクチャ全体を管理する必要があります。すべてがスムーズに機能することを確認するのはあなたの責任です。

マネージドソリューションを使用する場合、認証プロバイダーがスケールアップとスケールダウンを処理します。認証プロバイダーには、スケーリングに使用する事前定義されたレート制限とクォータがあります。

結論

この記事で紹介するすべてのプロバイダーは優れた選択肢ですが、普遍的な答えは1つではありません。認証サービスプロバイダーの選択は、ニーズと要件によって異なります。

SuperTokensとClerkは、Hasuraを公式にサポートする2つの注目すべきプロバイダーです。「サポート」とは、ドキュメントにHasuraとの統合方法を示す特別なセクションがあることを意味します。これはプラスであり、Hasuraと統合するときに非常に役立ちます。

これは完全なリストではないことに注意することが重要です。記事に存在しない利用可能な他のプロバイダーがあります。ただし、記事は随時更新され、新しいプロバイダーが追加されます。

ソース:https ://hasura.io/blog/top-authentication-providers-building-apps-jwt/

#jwt #authentication #hasura 

What is GEEK

Buddha Community

JWTを使用してアプリを構築するための上位7つの認証プロバイダー(2022)
渚  直樹

渚 直樹

1658644500

JWTを使用してアプリを構築するための上位7つの認証プロバイダー(2022)

「認証サービスプロバイダー」とは、認証サービスを提供するエンティティを指します。認証プロバイダーは、認証システムを最初から手動で実装する複雑さを抽象化するため、より重要なタスクに集中できます。

この記事では、認証プロバイダーを使用することのメリットとデメリットを紹介し、JWT統合をサポートする既存のプロバイダーを比較します。

認証プロバイダーの長所と短所

認証サービスプロバイダーを選択する前に、それを使用することの利点と欠点を評価することが不可欠です。

プロ:複雑さを抽象化

認証サービスプロバイダーを使用すると、認証システムを自分で実装する複雑さが抽象化されます。このようなシステムの構築は、多くのリソースを必要とする複雑で時間のかかるプロセスです。

これらのリソースを他のより重要なタスクのために解放する既存のソリューションを使用できます。

プロ:ユーザー情報の保存なし

人に関する機密情報を保存することは、軽視することではありません。プロバイダーの使用を選択すると、サーバーにユーザーの詳細を保存することを心配する必要がなくなります。

プロ:ソーシャルログインを活用する

Auth Service Providerを使用すると、最小限の労力でソーシャルログインを有効にできます。ソーシャルログインとは、Twitter、GitHub、Googleなどの既存のソーシャルネットワークアカウントを使用してログインすることです。

各ソーシャルプロバイダーを個別に実装するには、労力とリソースが必要です。認証プロバイダーを使用すると、ソーシャルログインの追加がより簡単かつ迅速になります。

プロ:セキュリティの向上

認証プロバイダーの使用を選択すると、セキュリティが向上します。認証プロバイダーの全体的な焦点は、認証と承認にあります。つまり、ユーザーの情報を安全に保つためのトレーニングと設備が整っているということです。

短所:移行が難しい

認証サービスプロバイダーを選択すると、移行が困難になる可能性があります。別のプロバイダーに変更したり、独自のシステムをローリングしたりするのは難しい場合があります。

認証プロバイダーを使用することが理にかなっているかどうかを判断することが重要です。それを行うことを選択した場合は、ニーズと要件に合ったプロバイダーを選択してください。

短所:プロバイダーのロックイン

もう1つの欠点は、使用しているプロバイダーに依存しすぎる可能性があることです。その理由は、実装がそのベンダーに固有であるか、現在のユーザーデータをエクスポートすることがほぼ不可能であることが原因である可能性があります。

別のプロバイダーへの移行は、コストと時間がかかりすぎる可能性があるため、現在のプロバイダーでロックされます。

短所:コスト

最初は、コストは問題ではないかもしれません。ただし、アプリケーションが大きくなり、ユーザー数が増えると、コストが問題になる可能性があります。

認証プロバイダーの多くは、月間アクティブユーザー数に基づいて課金されます。ユーザーが多いほど、請求額は大きくなります。

結論

認証サービスプロバイダーを使用する必要がありますか、それとも独自のシステムを実装する必要がありますか?決定的な答えはありません。

プロバイダーを使用するかどうかの決定は、多くの要因に依存します。一部の人にとっては、認証プロバイダーを使用することが適切なソリューションですが、他の人にとってはそうではありません。

使用する場合は、読み続けて、利用可能なさまざまな認証サービスプロバイダーについて学習してください。

認証プロバイダーの選択

この記事では、次の認証サービスプロバイダーを比較しています。

  • auth0
  • FirebaseAuth
  • 店員
  • KeyCloak
  • 学んだこと
  • スーパートークン
  • Nhost

これらの認証プロバイダーは、6つの評価基準に基づいて評価されます。

1.オープンソース

オープンソースプロジェクトには、いくつかの利点があります。1つの利点は、コスト削減です。オープンソースであるため、ライセンス料や使用料は必要ありません。

もう1つの利点は柔軟性です。ビジネス要件が変更された場合、または追加機能が必要な場合は、コードを自分で変更および拡張できます。ベンダーに変更を依頼したり、完全に変更したりする必要はありません。

透明性についても言及することが重要です。コードは誰でも見ることができます。非常に多くの専門家がコードにアクセスできるため、ソフトウェアをより良く、より安全にすることができます。

オープンソースの認証プロバイダーを使用することには他にも利点がありますが、これらの利点がポイントを押し上げます。

2.カスタムJWTクレーム

認証サービスプロバイダーをHasuraと統合するときは、それらがカスタムJWTクレームをサポートしていることを確認することが重要です。

Hasuraは、カスタムJWTクレームをチェックして、リクエストを行うユーザーの役割について学習します。その結果、Hasuraは適切な承認ルールを適用できます。

{    'x-hasura-default-role': 'user',    'x-hasura-allowed-roles': ['user'],    'x-hasura-user-id': user.user_id};

上記のスニペットは、カスタムJWTクレームの例を示しています。リクエストに関する重要な情報が含まれています。

3.シングルサインオン(SSO)のサポート

簡単に言うと、SSOは、ユーザーが1セットの資格情報を使用して複数のプラットフォームにログインする認証の種類を指します。

一例として、ユーザーがGoogleアカウントなどのソーシャルネットワークアカウントを使用してアプリケーションにログインするソーシャルSSOがあります。

4.マシン間認証

リクエストを行うのは必ずしもユーザーではありません。2台のマシンがそれらの間で通信するシナリオがあります。資格情報を入力するユーザーがいないため、クライアント(別のマシン)を別の方法で認証する必要があります。

マシンツーマシン(M2M)認証とは、ユーザー入力なしでマシンを認証することを指します。これは、OAuth2.0クライアント資格情報フローを使用することで可能になります。資格情報には、クライアントの認証に使用されるとがclient_id含まれます。client_secret

5.無料利用枠

この記事のすべての認証プロバイダーには無料枠があります。違いは、その層で提供されるものにあります。

毎月のアクティブユーザー(MAU)を測定し、それに基づいて課金します。その結果、一部のプロバイダーは数千のMAUを備えた無料枠を提供していますが、一部のプロバイダーは数百のMAUしか提供していません。

6.統合のしやすさ

認証サービスプロバイダーの統合は、多くの要因に依存します。プロバイダーの統合がいかに簡単か困難かを提示するのは困難です。

ただし、次のように、実装の難易度を示す可能性のあるポイントがいくつかあります。

  • ドキュメントの品質
  • 利用可能なSDK
  • 必要な構成の量
  • 利用可能な資料

プロバイダーの比較

この画像は、この記事で紹介した認証プロバイダー間の比較を示しています。

認証プロバイダーの比較

auth0

Auth0は、認証サービスのための定評のある人気のあるソリューションです。それは寛大な無料利用枠が付属しており、あなたが必要とするほとんどのものをサポートしています。

オープンソースいいえ
SaaSはい
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プランはい-最大7000MAU

統合のしやすさに関して言えば、Auth0は統合が簡単でも難しいものでもありません。これは確立された広範なソリューションであるため、統合に役立つ大量の資料を利用できます。実行する必要のある構成の量は、アプリケーションのタイプと複雑さによって異なります。

Firebase認証

Firebase Authenticationは、アプリケーションに認証を追加できるもう1つの人気のある認証サービスです。

Firebaseでは、次のようなサインインメソッドを追加できます。

  • Google、FacebookなどのIDプロバイダー
  • メールアドレスとパスワード
  • 電話
オープンソースいいえ
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン電話認証以外は無料

利用可能なリソースの量により、統合プロセスがより簡単になります。Firebaseコミュニティは、使用できる多くのオープンソースリソースを作成します。また、定評のあるプロバイダーでもあります。つまり、ほとんどすべての問題の解決策を見つける可能性があります。

最後に、FirebaseAuthをウェブアプリケーションとモバイルアプリケーションの両方に実装する方法をカバーする詳細なドキュメントがあります。

店員

他のプロバイダーと比較して、店員は最新のものです。Clerkを使用すると、サインアップ、サインイン、およびユーザープロファイルをアプリケーションに実装できます。彼らのウェブサイトによると、彼らは「完全な顧客アイデンティティプラットフォーム」です。

店員さんにはハスラのサポートも付いています。彼らには、ClerkをHasuraと統合する方法を紹介する特別なドキュメントセクションがあります。

オープンソースいいえ
SaaSはい
SSOサポートソーシャルSSO
JWTカスタムクレームはい
マシンツーマシン認証いいえ
無料プランはい-最大500MAU

比較的新しいため、まだ文書化/解決されていない問題が発生する可能性があります。それ以外に、店員は広範囲にわたる詳細なドキュメントを持っています。

Clerkをアプリケーションと統合するために必要な構成は最小限です。Clerkアカウントが必要です。そうすれば、SDKとそれらが提供するコンポーネントを使用できます。

キークローク

Keycloakは、人気のあるオープンソースの認証サービスプロバイダーです。オープンソースなので、セルフホストできます。つまり、月間アクティブユーザー数に関係なく無料です。

オープンソースであり、誰もが貢献できるようになっていますが、プロジェクトはRedHatによって管理されています。つまり、プロジェクトを信頼できるということです。

Keycloakはほとんどの認証のユースケースをサポートしており、無料でもあるため、優れた選択肢となる可能性があります。

オープンソースはい
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン無制限のユーザーは無料

Keycloakには、中程度の実装の難しさがあります。Keycloakをアプリケーションに統合するだけでなく、デプロイメントとメンテナンスにも注意を払う必要があります。

一見複雑に見えるかもしれませんが、Keycloakにすぐに慣れることができます。また、確立された製品であるため、ほとんどの問題の解決策が見つかる可能性があります。最後に、優れたドキュメントがあります。

学んだこと

Cognitoは、認証を処理するためのAmazonの製品です。これにより、Webおよびモバイルアプリケーションに認証を実装できます。

Cognitoは最も寛大な認証プロバイダーの1つであり、月間最大50,000人のアクティブユーザーがいる無料プランを提供します。コストが懸念され、マネージドソリューションが必要な場合は、Cognitoが最適です。

オープンソースいいえ
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン最大50000の月間アクティブユーザー(Cognitoユーザープールに直接サインインする)を無料で利用できます

統合の容易さに関して、Amazon Cognitoは、他のプロバイダーと比較して実装が非常に困難になる可能性があります。Cognitoは、基本的なアプリケーションであっても、複雑なセットアップを必要とします。

ただし、Cognitoをアプリケーションに統合するのに役立つ公式およびコミュニティの資料はたくさんあります。いくつかのSDKとサンプルアプリも利用可能で、あなたを助け、刺激を与えます。

CognitoをHasuraと統合する方法を学ぶ

スーパートークン

SuperTokensは比較的新しいサービスです。必要なほとんどすべてのサポートが付属しており、オープンソースでもあります。つまり、セルフホストして追加料金を回避できます。セルフホストを選択した場合、無制限のユーザーは永久に無料です。

SuperTokensにはHasuraのサポートが付属しており、SuperTokensをHasuraと統合する方法に関する特別なセクションがあります。

オープンソースはい
SaaSはい
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証はい
無料プラン無制限のユーザー(セルフホスト)と最大5000 MAU(SaaS)を無料で利用できます

統合のしやすさに関しては、アプリケーションと統合しようとすると、いくつかの問題が発生する可能性があります。その理由は、これは新しいサービスであり、現在インターネット上で利用できる資料があまりないためです。

構成に関しては、ドキュメントに必要なすべての設定と情報が記載されているため、SuperTokenの使用を開始するのはかなり簡単です。

SuperTokensには、SuperTokensをHasuraと統合するためのガイド、およびサンプルのSuperTokens+Hasuraデモアプリケーションもあります。

Nhost認証

Nhost Authenticationは、Hasuraのオープンソース認証サービスです。Nhost認証を使用すると、次の方法でサインインできます。

  • メールアドレスとパスワード
  • GitHub、Google、Apple、Facebook、Twitter、LinkedInなどのOAuthプロバイダー
  • マジックリンク
  • SMS

これはオープンソースプロジェクトであるため、セルフホストして、マネージドサービスを使用するときに支払う追加料金を回避できます。

オープンソースはい
SaaSいいえ
SSOサポートはい
JWTカスタムクレームはい
マシンツーマシン認証いいえ
無料プラン無制限のユーザーは無料

統合の容易さに関して言えば、Nhost認証はHasuraアプリケーションと統合するのがかなり簡単です。Hasura、Hasura Auth、Postgresを備えたすぐに使えるバックエンドを提供するNhostを介してアプリケーションを作成するか、NhostAuthenticationDockerイメージを使用してアプリケーションをセルフホストすることができます。

ここでNhost認証を確認できます。

スケーラビリティに関する注記

スケーラビリティとは、アプリケーションの成長とビジネス要件の変化を処理する認証サービスの機能を指します。認証サービスは、アプリケーションに影響を与えることなく、ユーザーの成長と要件の変化に対応する必要があります。

セルフホストソリューションを使用する場合は、スケーリングに関して全責任を負います。データベース、サーバー、およびインフラストラクチャ全体を管理する必要があります。すべてがスムーズに機能することを確認するのはあなたの責任です。

マネージドソリューションを使用する場合、認証プロバイダーがスケールアップとスケールダウンを処理します。認証プロバイダーには、スケーリングに使用する事前定義されたレート制限とクォータがあります。

結論

この記事で紹介するすべてのプロバイダーは優れた選択肢ですが、普遍的な答えは1つではありません。認証サービスプロバイダーの選択は、ニーズと要件によって異なります。

SuperTokensとClerkは、Hasuraを公式にサポートする2つの注目すべきプロバイダーです。「サポート」とは、ドキュメントにHasuraとの統合方法を示す特別なセクションがあることを意味します。これはプラスであり、Hasuraと統合するときに非常に役立ちます。

これは完全なリストではないことに注意することが重要です。記事に存在しない利用可能な他のプロバイダーがあります。ただし、記事は随時更新され、新しいプロバイダーが追加されます。

ソース:https ://hasura.io/blog/top-authentication-providers-building-apps-jwt/

#jwt #authentication #hasura