1
This commit is contained in:
@@ -129,13 +129,13 @@ async def wechat_callback(request: Request, db: AsyncSession = Depends(get_db)):
|
||||
# 验证签名:使用平台公钥验证
|
||||
if public_key:
|
||||
try:
|
||||
# 构造签名串
|
||||
sign_string = f"{timestamp}\n{nonce}\n{body_str}\n"
|
||||
# 验证签名
|
||||
# 使用 wechatpayv3.utils.rsa_verify 验证签名
|
||||
is_verified = rsa_verify(
|
||||
public_key=load_public_key(public_key),
|
||||
data=sign_string.encode('utf-8'),
|
||||
signature=b64decode(signature)
|
||||
timestamp=timestamp,
|
||||
nonce=nonce,
|
||||
body=body_str,
|
||||
signature=signature,
|
||||
public_key=load_public_key(public_key)
|
||||
)
|
||||
if not is_verified:
|
||||
logger.warning("WeChat callback signature verification failed")
|
||||
|
||||
Reference in New Issue
Block a user