ログインフォームの作成
POST /api/v1/auth_memberを利用すると、KREISEL に登録されている会員情報(重複キー項目とパスワード)を使って認証を行う、会員専用ページのような機能を実装できます。
備考
この機能は、KREISEL の「更新フォーム」の認証を再現します。そのため、API 連携用の 更新フォーム を事前に作成しておく必要があります。
実装サンプル
メールアドレス(フォーム項目 ID: e_91)とパスワードで認証する例です。
- PHP
<?php
// 環境情報
$environmentId = getenv('ENV_ID');
$apiToken = getenv('API_TOKEN');
$formId = 22; // 更新フォームのID
// APIエンドポイント
$url = "https://krs.bz/$environmentId/api/v1/auth_member";
// ユーザーの入力値
$loginId = 'foo@example.com';
$password = '12345678';
// リクエストボディを作成
$requestBody = [
'member_form_id' => $formId,
'member_info' => [
'e_91' => $loginId, // 重複キー項目
],
'password' => $password,
];
// cURLセッション
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json',
]);
// APIリクエストを実行
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// レスポンスを処理
if ($httpCode === 200) {
$result = json_decode($response, true);
if ($result > 0) {
echo '認証に成功しました。 会員ID : ', $result;
// ここでセッションを開始するなどのログイン後処理を行う
} else {
echo '会員が存在しないか、パスワードが間違っています。';
}
} else {
// エラー処理
$error = json_decode($response, true);
echo 'API呼び出しでエラーが発生しました。', PHP_EOL;
echo 'エラーコード: ', $error['error_code'] ?? 'N/A', PHP_EOL;
// KR_API_F0119: Form Is For Regist. (登録フォームを指定した場合など)
}