Automatically unregister device if the user logs out from mobile app

This commit is contained in:
Kijin Sung 2022-10-11 01:04:22 +09:00
parent 4169656277
commit c2bf7d65ce
2 changed files with 25 additions and 2 deletions

View file

@ -34,6 +34,28 @@ class Device extends \member
return new \BaseObject;
}
/**
* Automatically recognize device token from header or cookie and unregister it.
*
* @return \BaseObject
*/
public function autoUnregisterDevice(int $member_srl): \BaseObject
{
$device_token = $this->_getDeviceToken();
if ($device_token)
{
$output = executeQuery('member.getMemberDevice', ['device_token' => $device_token]);
if ($output->data && $output->data->member_srl == $member_srl)
{
$args = new \stdClass;
$args->device_token = $output->data->device_token;
$output = executeQuery('member.deleteMemberDevice', $args);
return $output;
}
}
return new \BaseObject;
}
/**
* Register device
*/

View file

@ -131,14 +131,15 @@ class memberController extends member
// Call a trigger after log-out (after)
ModuleHandler::triggerCall('member.doLogout', 'after', $logged_info);
$output = new BaseObject();
// If a device key is present, unregister it.
Rhymix\Modules\Member\Controllers\Device::getInstance()->autoUnregisterDevice($logged_info->member_srl);
$output = new BaseObject();
$config = ModuleModel::getModuleConfig('member');
if($config->after_logout_url)
{
$output->redirect_url = $config->after_logout_url;
}
return $output;
}