fix(core): harden settlement and wallet integration
This commit is contained in:
@@ -18,6 +18,7 @@ return [
|
||||
|
||||
'settlement' => [
|
||||
'default_timezone' => env('LOTTERY_SETTLEMENT_TIMEZONE', env('APP_TIMEZONE', 'UTC')),
|
||||
'ticket_chunk_size' => max(1, (int) env('LOTTERY_SETTLEMENT_TICKET_CHUNK_SIZE', 10_000)),
|
||||
],
|
||||
|
||||
/*
|
||||
@@ -63,6 +64,7 @@ return [
|
||||
| jwt.* :主站签发的 JWT;验签通过后若无映射行则自动建档
|
||||
| max_ttl_seconds :允许 (exp-iat) 最大秒数(默认 300=5 分钟),与「短效 Token」对齐
|
||||
| require_iat_claim:为 true 时必须带 iat,否则拒绝(不建档)
|
||||
| native.secret :原生玩家 JWT 专用密钥;必须显式配置且不得与任何 SSO 密钥共用
|
||||
|
|
||||
| aes.key_base64 :可选。32 字节原始密钥再做 Base64 写入 env LOTTERY_PLAYER_TOKEN_AES_KEY;
|
||||
| 有值时 Bearer 串(非 xxx.yyy.zzz 外形)会先尝试 AES-GCM 解包为内层 JWT 再验签。
|
||||
@@ -80,7 +82,7 @@ return [
|
||||
'key_base64' => env('LOTTERY_PLAYER_TOKEN_AES_KEY'),
|
||||
],
|
||||
'native' => [
|
||||
'secret' => env('LOTTERY_NATIVE_JWT_SECRET', env('MAIN_SITE_SSO_JWT_SECRET', '')),
|
||||
'secret' => env('LOTTERY_NATIVE_JWT_SECRET'),
|
||||
'ttl_seconds' => max(300, min(86400, (int) env('LOTTERY_NATIVE_JWT_TTL_SECONDS', 28800))),
|
||||
'claim_player_id' => 'player_id',
|
||||
'claim_auth_source' => 'auth_source',
|
||||
@@ -132,5 +134,4 @@ return [
|
||||
'draw_tick_settle_limit' => max(1, (int) env('LOTTERY_DRAW_TICK_SETTLE_LIMIT', 3)),
|
||||
'draw_tick_finalize_limit' => max(1, (int) env('LOTTERY_DRAW_TICK_FINALIZE_LIMIT', 5)),
|
||||
'draw_tick_rng_limit' => max(1, (int) env('LOTTERY_DRAW_TICK_RNG_LIMIT', 10)),
|
||||
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user