Files
im/support/OpenImSdk/Api/Auth.php
T

80 lines
2.4 KiB
PHP
Raw Normal View History

2025-11-22 15:31:01 +08:00
<?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错误');
}
/**
* 获取用户token
* 直接从服务器获取,不使用缓存
* @param string $userID 用户ID
2025-12-24 16:59:05 +08:00
* @param string $platformID 平台ID,默认为android
2025-11-22 15:31:01 +08:00
* @return array
*/
2025-12-24 16:59:05 +08:00
public function getUserToken(string $userID, string $platformID = 'android'): array
2025-11-22 15:31:01 +08:00
{
// 获取管理员token
2025-12-24 16:59:05 +08:00
$platformID = Utils::getPlatformId( $platformID );
2026-04-04 08:52:59 +08:00
return Utils::send(Url::$getUserToken, ['userID' => $userID, 'platformID' => $platformID], '获取用户token错误');
2025-11-22 15:31:01 +08:00
}
/**
* 强制登出
* @param string $userID 要登出的用户ID
2025-12-24 16:59:05 +08:00
* @param string $platformID 平台ID,默认为android
2025-11-22 15:31:01 +08:00
* @return array
*/
2026-02-15 19:41:56 +08:00
public function forceLogout(string $userID, string $platformID = 'android'): array|bool
2025-11-22 15:31:01 +08:00
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
// 清除本地缓存的用户token
Utils::clearToken($userID);
2025-12-24 16:59:05 +08:00
$platformID = Utils::getPlatformId( $platformID );
2025-11-22 15:31:01 +08:00
return Utils::send(Url::$forceLogout, ['userID' => $userID, 'platformID' => $platformID], '强制登出错误', $adminToken);
}
/**
* 解析当前用户token
* @param string $token 用户token
* @return array
*/
public function parseToken(string $token): array
{
return Utils::send(Url::$parseToken, [], '解析当前用户token错误', $token);
}
/**
* 用户登录 (旧版,建议使用getUserToken)
* @param string $userID 用户ID
* @return array
*/
public function userToken(string $userID): array
{
// 获取管理员token
$adminToken = Utils::getAdminToken();
return Utils::send(Url::$userToken, ['userID' => $userID], '用户登录错误', $adminToken);
}
}