mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 09:54:17 +02:00
37 lines
811 B
PHP
37 lines
811 B
PHP
<?php namespace Providers;
|
|
|
|
use RandomLib\Generator;
|
|
|
|
class AuthProvider extends BaseProvider {
|
|
/**
|
|
* @var Generator
|
|
*/
|
|
private $generator;
|
|
|
|
public function __construct(\PDO $db, Generator $generator) {
|
|
parent::__construct($db);
|
|
$this->generator = $generator;
|
|
}
|
|
|
|
public function generateToken() {
|
|
return $this->generator->generateString(32, Generator::CHAR_ALNUM);
|
|
}
|
|
|
|
public function setUser($token, \SteamId $steamid, $key) {
|
|
apc_store($token, [
|
|
'name' => $steamid->getNickname(),
|
|
'steamid' => $steamid->getSteamId64(),
|
|
'key' => $key
|
|
]);
|
|
}
|
|
|
|
public function getUser($token) {
|
|
$found = true;
|
|
$result = apc_fetch($token, $found);
|
|
return ($found) ? $result : ['name' => null, 'steamid' => null, 'key' => null];
|
|
}
|
|
|
|
public function logout($token) {
|
|
apc_delete($token);
|
|
}
|
|
}
|