|
@@ -1,7 +1,13 @@
|
|
|
+const { ManagementClient } = require('authing-node-sdk')
|
|
|
+const managementClient = new ManagementClient({
|
|
|
+ accessKeyId: '6686bffb373d06911e24a969',
|
|
|
+ accessKeySecret: "4e978331675938d1bc81fb109e67d59a",
|
|
|
+ host: 'https://textbook.u2-dev.hep.com.cn', // 应用的认证地址
|
|
|
+})
|
|
|
|
|
|
export function defineUserAfterSave(){
|
|
|
Parse.Cloud.afterSave("_User", async (request) => {
|
|
|
- console.log("save _User",request?.object?.id)
|
|
|
+ // console.log("save _User",request?.object?.id)
|
|
|
let query = new Parse.Query("Profile");
|
|
|
query.equalTo("user",request?.object?.id)
|
|
|
let profile = await query.first();
|
|
@@ -9,20 +15,21 @@ export function defineUserAfterSave(){
|
|
|
});
|
|
|
|
|
|
Parse.Cloud.afterSave("Profile", async (request) => {
|
|
|
- console.log("save Profile",request?.object?.id)
|
|
|
+ // console.log("save Profile",request?.object?.id)
|
|
|
let query = new Parse.Query("Profile");
|
|
|
query.include("user");
|
|
|
- profile = await query.get(require?.object?.id);
|
|
|
+ profile = await query.get(request?.object?.id);
|
|
|
syncUserProfileToAuthing(profile.get("user"),profile)
|
|
|
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
-function syncUserProfileToAuthing(){
|
|
|
+async function syncUserProfileToAuthing(user,profile){
|
|
|
+ if(!user?.id) return
|
|
|
let userInfo = user.toJSON();
|
|
|
userInfo = fixJsonFileds(userInfo)
|
|
|
- if(profile){
|
|
|
+ if(profile?.id){
|
|
|
let pjson = profile.toJSON();
|
|
|
delete pjson.objectId;
|
|
|
pjson= fixJsonFileds(pjson)
|
|
@@ -35,13 +42,32 @@ function syncUserProfileToAuthing(){
|
|
|
delete userInfo.companyName
|
|
|
userInfo.userType = userInfo.identity
|
|
|
delete userInfo.identity
|
|
|
+ userInfo.userId = userInfo.objectId
|
|
|
+ delete userInfo.objectId
|
|
|
+ userInfo.identifyStatus = userInfo.accountState
|
|
|
+
|
|
|
console.log(userInfo)
|
|
|
+ // 同步数据至Authing用户池
|
|
|
+ let result
|
|
|
+ try{
|
|
|
+ result = await managementClient.updateUser(userInfo)
|
|
|
+ console.log(result)
|
|
|
+ }catch{err}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function fixJsonFileds(json){
|
|
|
+ // Parse独有关系数据
|
|
|
delete json.ACL
|
|
|
delete json.className
|
|
|
delete json.sessionToken
|
|
|
delete json.company
|
|
|
+ delete json.user
|
|
|
+ delete json.createdAt
|
|
|
+ delete json.updatedAt
|
|
|
+ // 来自Authing的数据
|
|
|
+ delete json?.loginsCount
|
|
|
+ delete json?.lastIP
|
|
|
+ delete json?.lastLogin
|
|
|
return json
|
|
|
}
|