Browse Source

feat: cloud func authing/login

ryanemax 9 months ago
parent
commit
e47bc3179f

+ 17 - 1
server/cloud/func-authing-session-sync.js → server/cloud/authing/func-authing-session-sync.js

@@ -1,5 +1,21 @@
 const { AuthenticationClient } = require('authing-js-sdk')
-const { pgClient } = require('../db/pg-instance')
+const { pgClient } = require('../../db/pg-instance')
+
+Parse.Cloud.define("authing/login", async (request) => {
+    let token = request.params.token;
+    if(token) {
+        let result = await syncSessionWithIdToken(token)
+        return result
+    }
+    return null
+  },{
+    fields : {
+        token:{
+            required:true
+        }
+    }
+  });
+  
 
 /**
  * 同步用户登录信息

+ 1 - 0
server/cloud/authing/index.js

@@ -0,0 +1 @@
+require("./func-authing-session-sync")

+ 6 - 1
server/cloud/test/test-authing-session-sync.js → server/cloud/authing/test/test-authing-session-sync.js

@@ -1,4 +1,9 @@
 const { syncSessionWithIdToken } = require("../func-authing-session-sync");
 
+console.log("Function test: syncSessionWithIdToken")
+syncSessionWithIdToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cGRhdGVkX2F0IjoiMjAyNC0wNy0wMVQxNTowNzozNi4xMDdaIiwiYWRkcmVzcyI6eyJjb3VudHJ5IjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwicmVnaW9uIjpudWxsLCJmb3JtYXR0ZWQiOm51bGx9LCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOnRydWUsInBob25lX251bWJlciI6IjE4NjkxNzcwMzQzIiwibG9jYWxlIjpudWxsLCJ6b25laW5mbyI6bnVsbCwiYmlydGhkYXRlIjpudWxsLCJnZW5kZXIiOiJVIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6bnVsbCwid2Vic2l0ZSI6bnVsbCwicGljdHVyZSI6Imh0dHBzOi8vZmlsZXMuYXV0aGluZy5jby9hdXRoaW5nLWNvbnNvbGUvZGVmYXVsdC11c2VyLWF2YXRhci5wbmciLCJwcm9maWxlIjpudWxsLCJwcmVmZXJyZWRfdXNlcm5hbWUiOm51bGwsIm5pY2tuYW1lIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwiZmFtaWx5X25hbWUiOm51bGwsImdpdmVuX25hbWUiOm51bGwsIm5hbWUiOm51bGwsInN1YiI6IjY2ODJiZmU4MzcxNWIzYmIwNmM4ZGNiMiIsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwic2Vjb25kYXJ5VXNlcklkcyI6bnVsbCwiZGF0YSI6eyJ0eXBlIjoidXNlciIsInVzZXJQb29sSWQiOiI2NjcyNTQwZDg3NTZhNTAzYzZmNmYwM2UiLCJhcHBJZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImlkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwidXNlcklkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwiX2lkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwicGhvbmUiOiIxODY5MTc3MDM0MyIsImVtYWlsIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwidW5pb25pZCI6bnVsbCwib3BlbmlkIjpudWxsLCJjbGllbnRJZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSJ9LCJ1c2VycG9vbF9pZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSIsImF1ZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImV4cCI6MTcyMTA1NjIwMywiaWF0IjoxNzE5ODQ2NjAzLCJpc3MiOiJodHRwczovL3RleHRib29rLnUyLWRldi5oZXAuY29tLmNuL29pZGMifQ.3agfjN19HR5oQCybrmJy29YK1W9MM6KeqKqlHMHZlTA")
 
-syncSessionWithIdToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cGRhdGVkX2F0IjoiMjAyNC0wNy0wMVQxNTowNzozNi4xMDdaIiwiYWRkcmVzcyI6eyJjb3VudHJ5IjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwicmVnaW9uIjpudWxsLCJmb3JtYXR0ZWQiOm51bGx9LCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOnRydWUsInBob25lX251bWJlciI6IjE4NjkxNzcwMzQzIiwibG9jYWxlIjpudWxsLCJ6b25laW5mbyI6bnVsbCwiYmlydGhkYXRlIjpudWxsLCJnZW5kZXIiOiJVIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6bnVsbCwid2Vic2l0ZSI6bnVsbCwicGljdHVyZSI6Imh0dHBzOi8vZmlsZXMuYXV0aGluZy5jby9hdXRoaW5nLWNvbnNvbGUvZGVmYXVsdC11c2VyLWF2YXRhci5wbmciLCJwcm9maWxlIjpudWxsLCJwcmVmZXJyZWRfdXNlcm5hbWUiOm51bGwsIm5pY2tuYW1lIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwiZmFtaWx5X25hbWUiOm51bGwsImdpdmVuX25hbWUiOm51bGwsIm5hbWUiOm51bGwsInN1YiI6IjY2ODJiZmU4MzcxNWIzYmIwNmM4ZGNiMiIsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwic2Vjb25kYXJ5VXNlcklkcyI6bnVsbCwiZGF0YSI6eyJ0eXBlIjoidXNlciIsInVzZXJQb29sSWQiOiI2NjcyNTQwZDg3NTZhNTAzYzZmNmYwM2UiLCJhcHBJZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImlkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwidXNlcklkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwiX2lkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwicGhvbmUiOiIxODY5MTc3MDM0MyIsImVtYWlsIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwidW5pb25pZCI6bnVsbCwib3BlbmlkIjpudWxsLCJjbGllbnRJZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSJ9LCJ1c2VycG9vbF9pZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSIsImF1ZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImV4cCI6MTcyMTA1NjIwMywiaWF0IjoxNzE5ODQ2NjAzLCJpc3MiOiJodHRwczovL3RleHRib29rLnUyLWRldi5oZXAuY29tLmNuL29pZGMifQ.3agfjN19HR5oQCybrmJy29YK1W9MM6KeqKqlHMHZlTA")
+/**
+ * Cloud Code test
+ curl -X POST -H 'X-Parse-Application-Id: edu-textbook' http://localhost:61337/parse/functions/authing/login
+ */

+ 2 - 0
server/cloud/main.js

@@ -0,0 +1,2 @@
+'use strict'
+require("./authing")