本記事はSPIRALの使用例を用いて、さまざまなシーンで使えるアプリを紹介します。
こんな方に向けて書いてます
特定の機能の使い方を知りたい方
業務でスパイラルの使い方を広げたい方
スパイラルの利用シーンを知りたい方
本記事では、マイエリアの認証機能を活用し、
識別キーから自動発行キーを取得し、パスワードを使用してログインする仕組みの作成を習得できます。
全体フロー説明
↓
・識別キーを入力画面からユーザーIDを入力し、メールから自動発行キーを取得する
↓
・ログイン画面自動発行キーとパスワードよりログイン
自動発行キーとパスワードを用いて、よりセキュリティの強いログイン仕組みを作成
アプリ作成
今回は「申し込みアプリ」を作成します。
利用者がシステムに登録し、ログイン時にユーザーID・パスワードに加えて、自動作成キーを使用する仕組みを導入します。これにより、より安全な認証システムを実現します。
第三者がユーザーIDとパスワードを取得しただけではログインできない仕組みになっているため、不正利用を防止し、利用者がより安心して登録できる環境を提供できます。
利用シーン
一般的には、ユーザーIDとパスワードでログインできる認証システムが広く採用されていますが、
今回はそれに加えて自動作成キーを使用する仕組みを導入します。
より高いセキュリティを重視する場合、
メールアドレスから自動作成キーを確認できる場合のみログインを許可するフローにする必要があります。
これにより、社員番号やメールアドレスなど、識別キーが推測されやすい場合でも、
よりセキュアな認証機能を実現します。
DB作成
フィールド構成は全く同じにしなくても良いので、必要なフィールドを追加してください。
表示名 | 識別名 | タイプ | 詳細設定 |
---|---|---|---|
ユーザーID | userID | テキストフィールド(64 bytes) | 重複不可・入力必須 |
メールアドレス | メールアドレス(大・小文字無視) | 重複不可 | |
パスワード | password | パスワード | ― |
自動発行キーを利用の際、パスワードは簡易パスワードは使えませんので、
パスワード、もしくはメッセージダイジェスト(SHA256)を使用ください。
さらに、自動発行キーがどのメールアドレスに送信されたかが分からないように、ユーザーIDを設定しています。
マイエリア作成
認証設定 - 識別キー + パスワード + 自動発行キー
今回は識別キー(ユーザーID)を記入してから、メールから自動発行キーを送信。
ログイン画面に遷移した後、送信された自動発行キーとパスワードを入力することで、認証が完了します。
この仕組みによって、より強固な認証システムが実現され、不正アクセスを防止することができます。
自動発行キー発行ページ
自動発行キー発行ページのURLは、フローの中でログインページの1つ前のページに位置します。
通常、マイエリアのURLはログインページですが、
今回は識別キーから自動発行キーを取得する必要があるため、自動発行キー発行ページを使用します。
認証キー(ユーザーID)を入力すると、自動発行キーがメールボックスへ送信。
自動発行キーの発行完了メールが届きます。
メールはメンバー宛て通知メールから、メールの文章を変更することができます
ログイン画面
ログイン画面から、自動発行キーとパスワードを入力すると、ログインできます。
マイエリア設定検証
マイエリアに設定されたページは、全てログインしないと閲覧できないようになっています。
カスタムページ、フォーム、一覧表など、ログインされていない状態でURLを開くと、エラー画面が表示されます。
これが、マイエリアが正しく設定されている証拠となります。
最後に、マイエリアのメリット
マイエリアの認証機能を利用によって、複雑な処理なしに、セキュリティが保証されるログイン仕組みを作成することができます。
識別キー + 自動発行キー + パスワードのログインシステムはこれらのメリットがあります。
セキュリティの強化
識別キー、自動発行キー、パスワードの3つの要素を組み合わせることで、
認証が強化され、第三者による不正アクセスのリスクが大幅に減少します。
これにより、たとえパスワードが漏洩しても、他の要素が必要となるため、不正アクセスを防止することができます。
二重の認証防止
識別キーと自動発行キーに加えて、通常のパスワード認証を組み合わせることで、
ログイン時に二重の確認が行われます。
これにより、悪意のある攻撃者が一度の情報漏洩や不正アクセスで全ての要素を入手することが困難になります。
識別キー + 自動発行キー + パスワードを活用したシステムにより、より堅牢で安全な認証環境を提供でき、ユーザーと管理者双方にとって大きなメリットをもたらします。