Browse Source

feat: authingLogin cloud function is ok

ryanemax 8 months ago
parent
commit
df507e6c96

+ 12 - 3
projects/textbook/src/modules/login/login/parse-authing.ts

@@ -1,5 +1,5 @@
+import Parse from "parse";
 declare var GuardFactory:any;
-
 /**
  * ParseAuthing 通过Authing实现登录逻辑,再同步至Parse.User.become身份
  */
@@ -40,7 +40,7 @@ export class ParseAuthing{
         })
         // 使用 start 方法挂载 Guard 组件到你指定的 DOM 节点,登录成功后返回 userInfo
         this.authingGurad.start('#authing-guard-container').then((userInfo:any) => {
-            console.log('userInfo in start: ', userInfo)
+            // console.log('userInfo in start: ', userInfo)
         })
         // 生命周期事件绑定
         Object.keys(this.event).forEach(key=>{
@@ -49,9 +49,18 @@ export class ParseAuthing{
             }
         })
         // 定制特殊生命周期
-        this.authingGurad.on("login",(user:any,authClient:any)=>{
+        this.authingGurad.on("login",async (user:any,authClient:any)=>{
             // 获取Authing
             let token = user?.token;
+            let result = await Parse.Cloud.run("authingLogin",{
+                token:token
+            })
+            // console.log(result?.sessionToken)
+            if(result?.sessionToken){
+                let user = await Parse.User.become(result?.sessionToken);
+                // console.log(user)
+            }
+
             // 执行回调
             if(typeof this.event["login"] == 'function'){
                 this.event["login"](user,authClient)

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

@@ -5,5 +5,5 @@ syncSessionWithIdToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cGRhdGVkX2F0Ijo
 
 /**
  * Cloud Code test
- curl -X POST -H 'X-Parse-Application-Id: edu-textbook' -d '{ "token": "" }' http://localhost:61337/parse/functions/authingLogin
+ curl -X POST -H "Content-Type: application/json" -H 'X-Parse-Application-Id: edu-textbook' -d '{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cGRhdGVkX2F0IjoiMjAyNC0wNy0wMVQxNToxMDowMy45ODlaIiwiYWRkcmVzcyI6eyJjb3VudHJ5IjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwicmVnaW9uIjpudWxsLCJmb3JtYXR0ZWQiOm51bGx9LCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOnRydWUsInBob25lX251bWJlciI6IjE4NjkxNzcwMzQzIiwibG9jYWxlIjpudWxsLCJ6b25laW5mbyI6bnVsbCwiYmlydGhkYXRlIjpudWxsLCJnZW5kZXIiOiJVIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJlbWFpbCI6bnVsbCwid2Vic2l0ZSI6bnVsbCwicGljdHVyZSI6Imh0dHBzOi8vZmlsZXMuYXV0aGluZy5jby9hdXRoaW5nLWNvbnNvbGUvZGVmYXVsdC11c2VyLWF2YXRhci5wbmciLCJwcm9maWxlIjpudWxsLCJwcmVmZXJyZWRfdXNlcm5hbWUiOm51bGwsIm5pY2tuYW1lIjpudWxsLCJtaWRkbGVfbmFtZSI6bnVsbCwiZmFtaWx5X25hbWUiOm51bGwsImdpdmVuX25hbWUiOm51bGwsIm5hbWUiOm51bGwsInN1YiI6IjY2ODJiZmU4MzcxNWIzYmIwNmM4ZGNiMiIsImV4dGVybmFsX2lkIjpudWxsLCJ1bmlvbmlkIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwic2Vjb25kYXJ5VXNlcklkcyI6bnVsbCwiZGF0YSI6eyJ0eXBlIjoidXNlciIsInVzZXJQb29sSWQiOiI2NjcyNTQwZDg3NTZhNTAzYzZmNmYwM2UiLCJhcHBJZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImlkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwidXNlcklkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwiX2lkIjoiNjY4MmJmZTgzNzE1YjNiYjA2YzhkY2IyIiwicGhvbmUiOiIxODY5MTc3MDM0MyIsImVtYWlsIjpudWxsLCJ1c2VybmFtZSI6bnVsbCwidW5pb25pZCI6bnVsbCwib3BlbmlkIjpudWxsLCJjbGllbnRJZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSJ9LCJ1c2VycG9vbF9pZCI6IjY2NzI1NDBkODc1NmE1MDNjNmY2ZjAzZSIsImF1ZCI6IjY2ODJhYjk2YjdiZDVkYjU5ZDY3ODVhMCIsImV4cCI6MTcyMTA5MzIxNSwiaWF0IjoxNzE5ODgzNjE1LCJpc3MiOiJodHRwczovL3RleHRib29rLnUyLWRldi5oZXAuY29tLmNuL29pZGMifQ.LiAB91Gm3FgJ8tnB1lCON-Q2C8Wr510JhA5Fu8JhPe4" }' http://localhost:61337/parse/functions/authingLogin
  */