75 lines
2.0 KiB
PHP
Executable File
75 lines
2.0 KiB
PHP
Executable File
<?php
|
|
|
|
namespace support\OpenImSdk\Api;
|
|
|
|
use support\OpenImSdk\Core\Url;
|
|
use support\OpenImSdk\Core\Utils;
|
|
use support\OpenImSdk\Core\Config;
|
|
|
|
class Auth
|
|
{
|
|
/**
|
|
* 获取管理员token
|
|
* 直接从服务器获取,不使用缓存
|
|
* @param string $userID 管理员ID,默认为imAdmin
|
|
* @return array
|
|
*/
|
|
public function getAdminToken(string $userID = 'imAdmin'): array
|
|
{
|
|
$data = [
|
|
'userID' => $userID,
|
|
'secret' => Config::getSecret()
|
|
];
|
|
return Utils::send(Url::$getAdminToken, $data);
|
|
}
|
|
|
|
/**
|
|
* 获取用户token
|
|
* 直接从服务器获取,不使用缓存
|
|
* @param string $userID 用户ID
|
|
* @param string $platformID 平台ID,默认为android
|
|
* @return array
|
|
*/
|
|
public function getUserToken(string $userID, string $platformID = 'android'): array
|
|
{
|
|
// 获取管理员token
|
|
$platformID = Utils::getPlatformId( $platformID );
|
|
return Utils::send(Url::$getUserToken, ['userID' => $userID, 'platformID' => $platformID]);
|
|
}
|
|
|
|
/**
|
|
* 强制登出
|
|
* @param string $userID 要登出的用户ID
|
|
* @param string $platformID 平台ID,默认为android
|
|
* @return array
|
|
*/
|
|
public function forceLogout(string $userID, string $platformID = 'android'): array|bool
|
|
{
|
|
// 清除本地缓存的用户token
|
|
Utils::clearToken($userID);
|
|
$platformID = Utils::getPlatformId( $platformID );
|
|
return Utils::send(Url::$forceLogout, ['userID' => $userID, 'platformID' => $platformID]);
|
|
}
|
|
|
|
/**
|
|
* 解析当前用户token
|
|
* @param string $token 用户token
|
|
* @return array
|
|
*/
|
|
public function parseToken(string $token): array
|
|
{
|
|
return Utils::send(Url::$parseToken, []);
|
|
}
|
|
|
|
|
|
/**
|
|
* 用户登录 (旧版,建议使用getUserToken)
|
|
* @param string $userID 用户ID
|
|
* @return array
|
|
*/
|
|
public function userToken(string $userID): array
|
|
{
|
|
return Utils::send(Url::$userToken, ['userID' => $userID]);
|
|
}
|
|
}
|