자동 로그인 구현 - login_token 테이블 - reqNonce -> loginByToken - sha512(token + nonce) Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/196 Co-authored-by: hide_d <hided62@gmail.com> Co-committed-by: hide_d <hided62@gmail.com>
37 lines
827 B
PHP
37 lines
827 B
PHP
<?php
|
|
|
|
namespace sammo\API\Login;
|
|
|
|
use sammo\Session;
|
|
use DateTimeInterface;
|
|
use sammo\BaseAPI;
|
|
use sammo\Json;
|
|
use sammo\KakaoUtil;
|
|
use sammo\RootDB;
|
|
use sammo\TimeUtil;
|
|
use sammo\Util;
|
|
use sammo\Validator;
|
|
|
|
class ReqNonce extends BaseAPI{
|
|
|
|
public function getRequiredSessionMode(): int {
|
|
return \sammo\BaseAPI::NO_SESSION;
|
|
}
|
|
|
|
public function validateArgs(): ?string
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag) {
|
|
$loginNonce = Util::randomStr(16);
|
|
$loginNonceExpired = TimeUtil::nowAddSeconds(2);
|
|
$session->loginNonce = $loginNonce;
|
|
$session->loginNonceExpired = $loginNonceExpired;
|
|
return [
|
|
'result'=>true,
|
|
'loginNonce'=>$loginNonce,
|
|
];
|
|
}
|
|
|
|
} |