feat: 更新开发环境配置,支持在 local 和 testing 环境下的玩家身份绕过,新增钱包余额 API 路由

This commit is contained in:
2026-05-08 16:02:46 +08:00
parent fc0999664a
commit 8954325194
8 changed files with 178 additions and 11 deletions

View File

@@ -12,8 +12,8 @@ use Illuminate\Http\Request;
* 从请求头解析玩家身份,返回已落库的 {@see Player}
*
* 两种模式(互斥优先级:先判断 dev再走 JWT
* 1) 开发绕过:仅当 `APP_ENV=local` `LOTTERY_PLAYER_AUTH_DEV_BYPASS=true`
* 接受 `Authorization: Bearer dev:{players.id}`,直连主键查库(勿上生产)。
* 1) 开发绕过: `LOTTERY_PLAYER_AUTH_DEV_BYPASS=true` 且运行环境为 `local` **`testing`**PHPUnit
* 接受 `Authorization: Bearer dev:{players.id}`,直连主键查库(**禁止在生产开启**)。
* 2) 生产:使用 `MAIN_SITE_SSO_JWT_SECRET` 验签 JWT默认 HS256
* payload 读取 `site_code``site_player_id`(字段名可 env 覆盖)再查 players 表。
*
@@ -55,7 +55,7 @@ final class PlayerTokenResolver
private function devBypassAllowed(): bool
{
return (bool) config('lottery.player_auth.dev_bypass')
&& app()->environment('local');
&& app()->environment(['local', 'testing']);
}
private function resolveDevToken(string $token): Player