회원가입 및 로그인시 device token과 device key를 헤더로 주고받을 수 있도록 지원 (#1325 보완)

요청 헤더: X-Device-Token
응답 헤더: X-Registered-Member-Srl, X-Registered-Device-Key
This commit is contained in:
Kijin Sung 2021-11-24 16:14:33 +09:00
parent 3ece3ed7a4
commit aa9af45207

View file

@ -71,7 +71,7 @@ class memberController extends member
executeQuery('member.deleteAuthMail', $args);
// If a device token is supplied, attempt to register it.
$device_token = Context::get('device_token');
$device_token = Context::get('device_token') ?? ($_SERVER['HTTP_X_DEVICE_TOKEN'] ?? null);
if ($device_token)
{
$output = executeQuery('member.getMemberDevice', ['device_token' => $device_token]);
@ -82,6 +82,12 @@ class memberController extends member
{
return $output;
}
$device_key = $this->get('device_key');
if ($device_key)
{
header('X-Registered-Member-Srl: ' . $member_info->member_srl);
header('X-Registered-Device-Key: ' . $device_key);
}
}
else
{
@ -995,13 +1001,23 @@ class memberController extends member
}
// Register device
$device_token = Context::get('device_token');
$device_token = Context::get('device_token') ?? ($_SERVER['HTTP_X_DEVICE_TOKEN'] ?? null);
if ($device_token)
{
$output = executeQuery('member.getMemberDevice', ['device_token' => $device_token]);
if (!$output->data || $output->data->member_srl != $args->member_srl)
{
$this->procMemberRegisterDevice($args->member_srl);
$output = $this->procMemberRegisterDevice($args->member_srl);
if ($output instanceof BaseObject && !$output->toBool())
{
return $output;
}
$device_key = $this->get('device_key');
if ($device_key)
{
header('X-Registered-Member-Srl: ' . $args->member_srl);
header('X-Registered-Device-Key: ' . $device_key);
}
}
}