Auth0

Page content

https://auth0.com/pricing

Auth0は、アプリケーションやサービスに認証・認可機能を簡単に組み込めるクラウドベースの**Identity as a Service(IDaaS)**プラットフォームです。

主な特徴

認証機能の提供 ユーザー名・パスワード認証、ソーシャルログイン(Google、Facebook、GitHubなど)、多要素認証(MFA)、シングルサインオン(SSO)など、様々な認証方法を提供します。

開発者に優しい SDKやライブラリが豊富に用意されており、様々なプログラミング言語やフレームワーク(React、Angular、Node.js、Pythonなど)に対応しています。数行のコードで認証機能を実装できます。

セキュリティ 業界標準のプロトコル(OAuth 2.0、OpenID Connect、SAML)をサポートし、セキュリティのベストプラクティスを自動的に適用してくれます。

カスタマイズ性 ログイン画面のデザインカスタマイズや、認証フローの柔軟な設定が可能です。

利用シーン

  • Webアプリケーション、モバイルアプリの認証機能
  • API保護とアクセス管理
  • 企業向けのシングルサインオン実装
  • B2C/B2Bサービスのユーザー管理

2021年にOkta社に買収されましたが、独立したブランドとして継続しています。無料プランもあり、小規模なプロジェクトから大企業まで幅広く利用されています。

Auth0の基本的な使い方を説明します。

1. アカウント作成とセットアップ

Auth0アカウントの作成 https://auth0.com にアクセスして無料アカウントを作成します。

アプリケーションの登録 Auth0ダッシュボードで「Applications」→「Create Application」から、アプリケーションのタイプ(SPA、Web App、Native、M2Mなど)を選択して作成します。

2. 基本設定

作成したアプリケーションの設定で、以下を構成します:

  • Allowed Callback URLs: 認証後のリダイレクト先URL
  • Allowed Logout URLs: ログアウト後のリダイレクト先URL
  • Allowed Web Origins: APIを呼び出すオリジンURL

3. 実装例(React)

インストール

npm install @auth0/auth0-react

Auth0Providerの設定

import { Auth0Provider } from '@auth0/auth0-react';

<Auth0Provider
  domain="your-domain.auth0.com"
  clientId="your-client-id"
  redirectUri={window.location.origin}
>
  <App />
</Auth0Provider>

ログイン・ログアウトボタン

import { useAuth0 } from '@auth0/auth0-react';

function LoginButton() {
  const { loginWithRedirect, logout, isAuthenticated, user } = useAuth0();

  return (
    <div>
      {!isAuthenticated ? (
        <button onClick={() => loginWithRedirect()}>ログイン</button>
      ) : (
        <>
          <p>こんにちは{user.name}さん</p>
          <button onClick={() => logout()}>ログアウト</button>
        </>
      )}
    </div>
  );
}

4. よく使う機能

ソーシャルログインの追加 ダッシュボードの「Authentication」→「Social」から、Google、Facebook、GitHubなどの連携を設定できます。

多要素認証(MFA) 「Security」→「Multi-factor Auth」から、SMS、認証アプリなどの2段階認証を有効化できます。

ユーザー管理 「User Management」→「Users」で、登録ユーザーの確認・管理ができます。

5. API保護

Auth0でAPIを保護する場合は、「Applications」→「APIs」からAPIを登録し、アクセストークンを使った認可を実装します。

Auth0の公式ドキュメント(https://auth0.com/docs)には、各言語・フレームワーク別の詳細なクイックスタートガイドがあるので、そちらも参考にしてください。