Auth0の概要
Webアプリやモバイル、APIなどに対して認証・認可のサービスを提供しているクラウド型の認証プラットフォームで、 ユーザのログイン情報・トークンの管理などを簡単に行うためのサービス(IDaaS)です。
OAuth 1.0/2.0やOpenID Connectに対応しており、従来の各種Webアプリケーション、SPA (Single Web Page), CLI (Command Line Interface)などに対するAPIやサンプルソースを公開しています。
Google AuthenticatorやDUO Securityなどの多要素認証(MFA)も利用可能で、 EmailやSMSを介してワンタイムパスワード(OTP)を送信する、パスワードレス認証にも対応しています。
Auth0の特徴
簡単かつ短期間で導入可能
- コア機能は管理画面からノーコードで設定でき、100種以上テンプレートからJSでのローコードなカスタマイズ実装も可能
豊富な導入実績
- 世界での導入実績は10,000社以上
- 日本企業では、スバルやマツダ、ドコモ、シャープなどで導入
柔軟な拡張性
- 65以上の言語、フレームワークに対応したSDKを提供
- 40以上のソーシャルログインプロバイダに対応
高い安全性
- ボット検知、総当たり・大量登録検知、などの様々な攻撃手法を多層的に防御
- 状況や規模に応じてその時々で必要なセキュリティ機能を追加可能とのこと
提供している機能(一部)
| 機能 | 概要 |
|---|---|
| ユニバーサルログイン | ログインフローの実装をAuth0に任せ、アプリケーション側でのログイン機能実装を最小限にする事が可能 |
| シングルサインオン(SSO) | 単一の資格情報を使ってアプリケーションへのログインで複数のアプリケーションに自動的にサインイン |
| 多要素認証(MFA) | スマホアプリでのプッシュ通知やワンタイムパスワード、メール通知による認証 |
| パスワードレス | 生体認証やマジックリングのようなパスワードを使わない認証 |
| ユーザー管理 | ダッシュボードでユーザー管理することが可能 |
| Marketplace | ソーシャルログインやSSO機能を追加して拡張、カスタマイズする際に利用できるサービス |
Auth0の導入方法
今回は無料トライアルアカウントを使用し、Auth0から提供されているサンプルで設定
1.アカウント作成
- Auth0公式サイトから登録を行う


- アカウントタイプを選択し、US以外のリージョンを選択したい場合は「I need advanced setting」にチェックを入れる

- ドメインの入力、リージョンを選択

- 登録が完了するとダッシュボードが表示される

2.アプリケーションの設定
- ApplicationsメニューのApplicationsを選択し、Create Appreciationボタンを押下

- Nameを入力し、設定するアプリケーションの種類を選択(今回はJava(Spring)を利用するためRegular Web Applicationsを選択)

- Quick Startタブを選択し、画面から使用するプロジェクトの種類を選択(検索も可能)

- GitHubのリンクがあるため、リンク先からプロジェクトをクローンしておく

- Settingsタブを選択しDomain、Client ID、 Client Secretを確認

- クローンしてきたプロジェクトの中にある「application.yml.example」ファイルを複製し、「application.yml」を作成
- 作成した「application.yml」にDomain、Client ID、 Client Secretを設定

- Auth0ダッシュボードのSettingsタブでApplication URIsを画像のように設定

- ページ最下部のSave Changesを忘れずに押下する

確認方法
- Springを起動して「http://localhost:3000/」にアクセスし画像のように表示されていることを確認

- Loginボタンを押下すると、認証情報の入力を求められる

- ログインに成功すると画像のように表示される

補足
ダッシュボードで利用可能なメニュー
| メニュー | 概要 |
|---|---|
| Getting Started | スタートガイド |
| Activity | アクティブユーザ数やログイン失敗数を視覚的に確認 |
| Applications | アプリケーションの管理 |
| APIs | 登録されているアプリケーションから使用できるAPIを管理 |
| Single Sign On Integrations | 外部SSOサービスの追加、設定 |
| Database Connections | DB接続の追加、設定 |
| Social Connections | Facebook、Twitterなどのソーシャルコネクションを設定 |
| Enterprise Connections | Google Workspaceなどのエンタープライズ接続を設定 |
| Passwordless Connections | SMSログイン、電子メールログインなどのパスワードレス接続を設定 |
| Authentication Profile | ログインフローの設定 |
| Organizations | パートナー企業等を管理 |
| Users | ユーザの確認、管理 |
| Roles | ユーザに割り当て可能な権限を管理 |
| Universal Login | ログイン画面のカスタマイズ |
| Custom Domains | 独自ドメインの設定(無料トライアルでは使用不可) |
| Email Templates | テンプレート毎のメール文面のカスタマイズ |
| Custom Email Provider | 独自メールプロバイダーの設定 |
| Attack Protection | ボット検出など攻撃対策の設定 |
| Multi-factor Authentication | 多要素認証を設定、管理 |
| Monitoring | 管理者が実行したアクションやユーザーが行った認証ログの収集等を設定 |
| Flows | ログインで行うアクションの流れをGUIで管理 |
| Library | Flowsで使用可能なアクションの管理 |
| Rules | 特定の条件下でアクセス拒否など、Auth0のデフォルト動作をカスタマイズ |
| Hooks | 特定のアクションを行った際のAuth0の動作をカスタマイズ |
| Logs | 管理者がダッシュボードで行ったアクションと、ユーザーが行った認証のログデータ |
| Streams | ログをストリーミングし、分析やアラームを設定 |
| Marketplace | 統合するサードパーティサービスを管理 |
| Extensions | 公式およびサードパーティのアドオンでAuth0プラットフォームを拡張 |
利用プランについて
無料トライアル
- enterpriseプランと同等の機能が利用可能
- 22日間限定
- 期間終了後フリープランに自動で移行
フリープラン
- 7000アクティブユーザまで
- 秒間2リクエストまで
- 外部DB接続不可
- ソーシャルログインは2種類まで
- SSO使用不可など
利用可能なプランの詳細については公式のプラン比較を参照
参考・引用
- 閲覧数 1836
画像
コメントを追加