[chore] solution/backend: 카톡 웹훅에 발화자 properties 로그 — 카카오 로그인 매칭 가능성 확인
user.properties.appUserId 는 봇 설정에 앱키가 물려 있을 때만 오고, 그 값이 **카카오 로그인으로 받는 값과 같다**(카카오 공식 문서). 오면 6자리 코드 절차 없이 사장님을 바로 알아볼 수 있다. ★ 로그인 작업을 다 만들고 나서 "키가 안 온다" 를 알면 그게 제일 비싸다 — 그래서 배선보다 이 한 줄이 먼저다. ★ 값 자체는 남기지 않는다. 사용자 식별자라, 어떤 키가 왔는지와 길이만 남긴다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
f1d0f765d1
commit
092a350182
@ -176,11 +176,21 @@ async def _push(callback_url: str, utterance: str, speaker: str) -> None:
|
|||||||
async def _handle(body: dict, tasks: BackgroundTasks) -> dict:
|
async def _handle(body: dict, tasks: BackgroundTasks) -> dict:
|
||||||
request = body.get("userRequest") or {}
|
request = body.get("userRequest") or {}
|
||||||
utterance = request.get("utterance") or ""
|
utterance = request.get("utterance") or ""
|
||||||
speaker = (request.get("user") or {}).get("id") or ""
|
user = request.get("user") or {}
|
||||||
|
speaker = user.get("id") or ""
|
||||||
if not speaker:
|
if not speaker:
|
||||||
# 발화자를 모르면 누구의 가게인지도 모른다. 여기서 끝낸다.
|
# 발화자를 모르면 누구의 가게인지도 모른다. 여기서 끝낸다.
|
||||||
return _reply("사용자를 확인하지 못했어요.")
|
return _reply("사용자를 확인하지 못했어요.")
|
||||||
|
|
||||||
|
# ★ 카카오 로그인 매칭 가능성 확인용(2026-09-30). user.properties.appUserId 는 봇 설정에
|
||||||
|
# 앱키가 물려 있을 때만 오고, 그 값이 **카카오 로그인으로 받는 값과 같다**(공식 문서).
|
||||||
|
# 오면 6자리 코드 절차 없이 사장님을 바로 알아볼 수 있다.
|
||||||
|
# ★ 값 자체는 남기지 않는다 — 사용자 식별자다. 어떤 키가 왔는지와 길이만 본다.
|
||||||
|
props = user.get("properties") or {}
|
||||||
|
if isinstance(props, dict):
|
||||||
|
LOG.i(f"[agent/kakao] 발화자 키 — properties={sorted(props)} "
|
||||||
|
f"appUserId={'있음(%d자)' % len(str(props['appUserId'])) if props.get('appUserId') else '없음'}")
|
||||||
|
|
||||||
# ★ [승인] 버튼(action: block)의 extra 는 그 블록의 스킬 요청에 action.clientExtra 로 돌아온다.
|
# ★ [승인] 버튼(action: block)의 extra 는 그 블록의 스킬 요청에 action.clientExtra 로 돌아온다.
|
||||||
# 글 ID 값은 남기지 않고 어떤 키가 왔는지만 남긴다.
|
# 글 ID 값은 남기지 않고 어떤 키가 왔는지만 남긴다.
|
||||||
extra = (body.get("action") or {}).get("clientExtra") or {}
|
extra = (body.get("action") or {}).get("clientExtra") or {}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user