Skip to content

Commit 87f4821

Browse files
fix: CORS error occurred while embedding the assistant
1 parent 4058ad3 commit 87f4821

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

backend/apps/system/api/assistant.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ async def info(request: Request, response: Response, session: SessionDep, trans:
5050

5151
# 校验 target(来源域名)是否合法
5252
target = sign_data.get("target", "")
53+
54+
request_origin = request.headers.get("origin") or get_origin_from_referer(request)
55+
if not request_origin:
56+
raise RuntimeError(trans('i18n_embedded.invalid_origin', origin=request_origin or ''))
57+
request_origin = request_origin.rstrip('/')
58+
if not target or target == "null":
59+
target = request_origin
60+
elif target != request_origin:
61+
raise RuntimeError(trans('i18n_embedded.invalid_origin', origin=target or ''))
62+
5363
if not origin_match_domain(target, db_model.domain):
5464
raise RuntimeError(trans('i18n_embedded.invalid_origin', origin=target or ''))
5565

0 commit comments

Comments
 (0)