Browse Source

fix: sync userlogin from authing

ryanemax 8 months ago
parent
commit
fa6a95c519
2 changed files with 29 additions and 3 deletions
  1. 16 3
      server/cloud/authing/func-authing-session-sync.js
  2. 13 0
      server/db/schemas/_User.js

+ 16 - 3
server/cloud/authing/func-authing-session-sync.js

@@ -42,9 +42,15 @@ async function syncSessionWithIdToken(token){
     let sessionObjectId = generateObjectId(user?.id+user?.token)
     let username = user?.phone || user?.username || user?.email
     let syncSessionSQL = `
-    INSERT INTO "_User" ("objectId", "username","mobile", "createdAt", "updatedAt")
+    INSERT INTO "_User" (
+        "objectId", "username","mobile","phone", "createdAt", "updatedAt",
+        "lastIP","lastLogin","userSourceType","loginsCount"
+        )
     VALUES
-    ($2,$7,$8,$5,$6)
+    (
+        $2,$7,$8,$8,$5,$6,
+        $9,$10,$11,$12
+        )
     ON conflict("objectId") DO UPDATE
     SET 
     "username" = excluded."username",
@@ -60,7 +66,14 @@ async function syncSessionWithIdToken(token){
     "sessionToken" = excluded."sessionToken",
     "expiresAt"=excluded."expiresAt";
     `
-    let params = [sessionObjectId,user?.id,user?.token,user?.tokenExpiredAt,new Date(),new Date(),username,user?.phone]
+    let params = [
+        // 1-4
+        sessionObjectId,user?.id,user?.token,user?.tokenExpiredAt,
+        // 5-8
+        new Date(),new Date(),username,user?.phone,
+        // 9-12
+        user?.lastIP, user?.lastLogin, user?.userSourceType,user?.loginsCount
+    ]
     if(user?.id&&user?.token){
         try {
             // 查询:数据库版本信息

+ 13 - 0
server/db/schemas/_User.js

@@ -10,6 +10,19 @@ export const _User = {
         "mobile": {
             "type": "String"
         },
+        // Authing 提供信息
+        "phone": {
+            "type": "String"
+        },
+        "lastLogin": {
+            "type": "Date"
+        },
+        "userSourceType":{
+            "type": "String"
+        },
+        "loginsCount":{
+            "type": "Number"
+        }
     }
 }
 module.exports._User = _User