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