Auth0の導入方法

  •  
 
yoshino2023年1月27日 - 10:02 に投稿

タグ

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.アカウント作成

  • アカウントタイプを選択し、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使用不可など

利用可能なプランの詳細については公式のプラン比較を参照

参考・引用

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
画像
home page
sign up1
sign up2
sign up3
dashboard2
create1
github
url
value
save
project
login1
login2
login3
create2
dashboard1