web会议聊天
This commit is contained in:
@@ -111,7 +111,7 @@ services:
|
||||
# 基础配置(局域网访问)
|
||||
TZ: Asia/Shanghai
|
||||
# 关键:使用 http:// 协议的完整 URL
|
||||
PUBLIC_URL: http://192.168.0.253:8280
|
||||
PUBLIC_URL: 192.168.0.253:8280
|
||||
|
||||
# 关键:禁用 HTTPS,让容器生成 ws:// 而不是 wss://
|
||||
ENABLE_HTTPS: 0
|
||||
@@ -139,7 +139,7 @@ services:
|
||||
ENABLE_GUESTS: 1
|
||||
AUTH_TYPE: jwt
|
||||
JWT_APP_ID: urbanLifeline
|
||||
JWT_APP_SECRET: urbanLifelinejitsi
|
||||
JWT_APP_SECRET: urbanLifeline-jitsi-secret-key-2025-production-safe-hs256
|
||||
JWT_ACCEPTED_ISSUERS: urbanLifeline
|
||||
JWT_ACCEPTED_AUDIENCES: jitsi
|
||||
JWT_ASAP_KEYSERVER: https://192.168.0.253:8280/
|
||||
@@ -206,7 +206,7 @@ services:
|
||||
ENABLE_GUESTS: 1
|
||||
AUTH_TYPE: jwt
|
||||
JWT_APP_ID: urbanLifeline
|
||||
JWT_APP_SECRET: urbanLifelinejitsi
|
||||
JWT_APP_SECRET: urbanLifeline-jitsi-secret-key-2025-production-safe-hs256
|
||||
JWT_ACCEPTED_ISSUERS: urbanLifeline
|
||||
JWT_ACCEPTED_AUDIENCES: jitsi
|
||||
JWT_ALLOW_EMPTY: 0
|
||||
|
||||
@@ -62,8 +62,14 @@ public class JitsiTokenServiceImpl implements JitsiTokenService {
|
||||
claims.put("exp", exp / 1000); // 秒级时间戳
|
||||
claims.put("nbf", now / 1000);
|
||||
|
||||
// 构建JWT Header,必须包含 typ: JWT
|
||||
Map<String, Object> header = new HashMap<>();
|
||||
header.put("alg", "HS256");
|
||||
header.put("typ", "JWT");
|
||||
|
||||
// 生成JWT Token
|
||||
String token = Jwts.builder()
|
||||
.setHeader(header)
|
||||
.setClaims(claims)
|
||||
.setIssuedAt(new Date(now))
|
||||
.setExpiration(new Date(exp))
|
||||
|
||||
@@ -105,7 +105,7 @@ jitsi:
|
||||
secret: urbanLifeline-jitsi-secret-key-2025-production-safe-hs256
|
||||
server:
|
||||
# Jitsi Meet服务器地址(Docker部署在本地8280端口)
|
||||
url: http://192.168.0.253:8280
|
||||
url: http://localhost:8280
|
||||
token:
|
||||
# JWT Token有效期(毫秒)- 默认2小时
|
||||
expiration: 7200000
|
||||
Reference in New Issue
Block a user