Update auth RPC procedures.

This commit is contained in:
flash 2024-08-25 21:53:34 +00:00
parent eafe5b3776
commit 7aa640364e

View file

@ -47,16 +47,14 @@ final class OAuth2RpcActions extends RpcActionHandler {
return [
'method' => 'basic',
'authed' => $authed,
'app_id' => $appInfo->getId(),
'type' => $authed ? 'confapp' : 'pubapp',
'app' => $appInfo->getId(),
'scope' => ['oauth2'],
];
}
#[RpcProcedure('hanyuu:oauth2:getTokenInfo')]
public function procGetTokenInfo(string $type, string $token): array {
if(strcasecmp($type, 'Bearer') !== 0)
return ['method' => 'bearer', 'error' => 'type'];
#[RpcProcedure('hanyuu:oauth2:attemptBearerAuth')]
public function procAttemptBearerAuth(string $token): array {
try {
$tokenInfo = $this->oauth2Ctx->getTokensData()->getAccessInfo($token, OAuth2TokensData::ACCESS_BY_TOKEN);
} catch(RuntimeException $ex) {
@ -68,11 +66,11 @@ final class OAuth2RpcActions extends RpcActionHandler {
return [
'method' => 'bearer',
'authed' => true,
'app_id' => $tokenInfo->getAppId(),
'user_id' => $tokenInfo->getUserId() ?? '0',
'scope' => $tokenInfo->getScope(),
'expires_in' => $tokenInfo->getRemainingLifetime(),
'type' => $tokenInfo->hasUserId() ? 'user' : 'app',
'app' => $tokenInfo->getAppId(),
'user' => $tokenInfo->getUserId() ?? '0',
'scope' => $tokenInfo->getScopes(),
'expires' => $tokenInfo->getExpiresTime(),
];
}