fix:微信登录认证问题
This commit is contained in:
parent
4320d2db82
commit
f33b319203
@ -11,7 +11,7 @@ from fastapi.security import OAuth2PasswordBearer
|
|||||||
"""
|
"""
|
||||||
系统版本
|
系统版本
|
||||||
"""
|
"""
|
||||||
VERSION = "1.7.8"
|
VERSION = "1.7.9"
|
||||||
|
|
||||||
"""安全警告: 不要在生产中打开调试运行!"""
|
"""安全警告: 不要在生产中打开调试运行!"""
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
@ -20,7 +20,6 @@ PassLib 是一个用于处理哈希密码的很棒的 Python 包。它支持许
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import jwt
|
|
||||||
from aioredis import Redis
|
from aioredis import Redis
|
||||||
from fastapi import APIRouter, Depends, Request, Body
|
from fastapi import APIRouter, Depends, Request, Body
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
@ -35,6 +34,7 @@ from apps.vadmin.auth.crud import MenuDal, UserDal
|
|||||||
from .current import FullAdminAuth
|
from .current import FullAdminAuth
|
||||||
from .validation.auth import Auth
|
from .validation.auth import Auth
|
||||||
from utils.wx.oauth import WXOAuth
|
from utils.wx.oauth import WXOAuth
|
||||||
|
import jwt
|
||||||
|
|
||||||
app = APIRouter()
|
app = APIRouter()
|
||||||
|
|
||||||
@ -75,7 +75,12 @@ async def login_for_access_token(
|
|||||||
|
|
||||||
|
|
||||||
@app.post("/wx/login/", summary="微信服务端一键登录", description="员工登录通道")
|
@app.post("/wx/login/", summary="微信服务端一键登录", description="员工登录通道")
|
||||||
async def wx_login_for_access_token(data: WXLoginForm, db: AsyncSession = Depends(db_getter), rd: Redis = Depends(redis_getter)):
|
async def wx_login_for_access_token(
|
||||||
|
request: Request,
|
||||||
|
data: WXLoginForm,
|
||||||
|
db: AsyncSession = Depends(db_getter),
|
||||||
|
rd: Redis = Depends(redis_getter)
|
||||||
|
):
|
||||||
try:
|
try:
|
||||||
if data.platform != "1" or data.method != "2":
|
if data.platform != "1" or data.method != "2":
|
||||||
raise ValueError("无效参数")
|
raise ValueError("无效参数")
|
||||||
@ -86,9 +91,9 @@ async def wx_login_for_access_token(data: WXLoginForm, db: AsyncSession = Depend
|
|||||||
data.telephone = telephone
|
data.telephone = telephone
|
||||||
user = await UserDal(db).get_data(telephone=telephone, v_return_none=True)
|
user = await UserDal(db).get_data(telephone=telephone, v_return_none=True)
|
||||||
if not user:
|
if not user:
|
||||||
raise ValueError("此手机号不存在")
|
raise ValueError("手机号不存在")
|
||||||
elif not user.is_active:
|
elif not user.is_active:
|
||||||
raise ValueError("此手机号已被冻结")
|
raise ValueError("手机号已被冻结")
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
await VadminLoginRecord.create_login_record(db, data, False, request, {"message": str(e)})
|
await VadminLoginRecord.create_login_record(db, data, False, request, {"message": str(e)})
|
||||||
return ErrorResponse(msg=str(e))
|
return ErrorResponse(msg=str(e))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user