【Wakarana】シンプルなログインフォーム
Wakaranaで利用できる、TOTPによる2要素認証に対応したシンプルな1段階ログインフォームのサンプルコードです。wakarana::login関数は、ユーザーIDとパスワード、TOTPのワンタイムコード(2要素認証が有効なユーザーの場合)を照合し、正しければクライアント端末にログイン情報を送信して、そのユーザーのwakarana_userオブジェクトを返します。
アプリケーション全体で2要素認証を使用しない場合は、以下のPIN入力欄、及び、wakarana::login関数の第三引数を省略することが可能です。
sample_1.html
<form action="sample_2.php" method="post">
ID <input type="text" name="user_id"><br>
パスワード <input type="text" name="password"><br>
PIN <input type="text" name="totp_pin" placeholder="2要素認証を使用している場合のみ入力"><br>
<button type="submit">送信</button>
</form>
sample_2.php
<?php
include "wakarana/main.php";
$wakarana = new wakarana();
//ログイン認証処理
$user = $wakarana->login($_POST["user_id"], $_POST["password"], $_POST["totp_pin"]);
if (is_object($user)) {
print $user->get_name()."としてログインしました";
} else {print "ユーザー名またはパスワード、PINが違います";
}