浏览代码

no message

libushang 2 天之前
父节点
当前提交
6db247458b
共有 2 个文件被更改,包括 11 次插入8 次删除
  1. 1 0
      routers/api/__init__.py
  2. 10 8
      routers/prod_api/auth.py

+ 1 - 0
routers/api/__init__.py

@@ -42,6 +42,7 @@ from . import expert
 from . import dataManagement
 router = APIRouter()
 
+# 小屏粤政易回调入口
 @router.get("/yzy/callback.html")
 async def callback(request: Request, code: str, state: str):
     # 转会vue URL格式

+ 10 - 8
routers/prod_api/auth.py

@@ -3,6 +3,7 @@
 from fastapi import APIRouter, Depends, Request, Header, Form, Body
 from fastapi.responses import FileResponse, StreamingResponse
 from sqlalchemy.orm import Session
+from sqlalchemy import text, exists, and_, or_, not_
 from fastapi.responses import JSONResponse
 from database import get_db
 from utils import *
@@ -260,9 +261,7 @@ async def yzy(
 ):
     code = data['code']
     state = data['state']
-    state_str = base64.b64decode(state).decode('utf-8')
-    state_json = json.loads(state_str)
-    logger.info("code:{}, {}", code, state_json)
+    logger.info("code:{}, {}", code, state)
 
     resp = YzyApi.get_user_info(code)
     if resp['errcode'] != 0:
@@ -273,6 +272,7 @@ async def yzy(
 
     user_id = resp['UserId']
 
+    '''
     row = db.query(YzyOrgUserEntity).filter(YzyOrgUserEntity.userid == user_id).first()
     if row is None:
         return {
@@ -281,7 +281,10 @@ async def yzy(
         }
     
     yzy_account = row.account
-    row = db.query(SysUser).filter(SysUser.yzy_account == yzy_account).first()
+    '''
+    
+    where = or_(SysUser.yzy_account == user_id, SysUser.yzy_account == mpfun.enc_data(user_id))
+    row = db.query(SysUser).filter(SysUser.yzy_account == where).first()
     if row is None:
         return {
             "code": 500,
@@ -301,18 +304,17 @@ async def yzy(
 
     return {
         "code": 200,
-        "msg": "粤政易登录成功",
+        "msg": "小屏粤政易登录成功",
         "data": {
             "access_token": access_token,
             "refresh_token": refresh_token,
             "expire_in": 7200,
             "refresh_expire_in": 7200,
-            "scope": "",
-            "redirect_url": state_json['redirect_url']
+            "scope": ""
         }
     }
 
-# 粤政易token登录
+# 统一身份认证(粤政易扫码登录)token登录,中屏、大屏使用
 @router.post('/yzylogin')
 async def login(
     request: Request,