ef-keycloak-connect 1.3.1 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/services/keycloakService.js +72 -3
package/package.json
CHANGED
|
@@ -1067,9 +1067,42 @@ class KeycloakService extends Keycloak {
|
|
|
1067
1067
|
async createUser(username, password, token, userRoles) {
|
|
1068
1068
|
|
|
1069
1069
|
let assignRole = [];
|
|
1070
|
+
let assignGroups = ['agents', 'default'];
|
|
1070
1071
|
|
|
1071
1072
|
return new Promise(async (resolve, reject) => {
|
|
1072
1073
|
|
|
1074
|
+
|
|
1075
|
+
for (let group of assignGroups) {
|
|
1076
|
+
|
|
1077
|
+
let URL2 = keycloakConfig["auth-server-url"] + 'admin/realms/' + keycloakConfig.realm + '/groups?search=' + group;
|
|
1078
|
+
|
|
1079
|
+
let config1 = {
|
|
1080
|
+
method: 'get',
|
|
1081
|
+
url: URL2,
|
|
1082
|
+
headers: {
|
|
1083
|
+
'Content-Type': 'application/json',
|
|
1084
|
+
'Authorization': `Bearer ${token}`
|
|
1085
|
+
}
|
|
1086
|
+
};
|
|
1087
|
+
|
|
1088
|
+
try {
|
|
1089
|
+
let groupData = await requestController.httpRequest(config1, true);
|
|
1090
|
+
|
|
1091
|
+
if (groupData.data.length == 0) {
|
|
1092
|
+
|
|
1093
|
+
let createdGroup = await this.createGroup(token, group);
|
|
1094
|
+
|
|
1095
|
+
}
|
|
1096
|
+
} catch (err) {
|
|
1097
|
+
reject({
|
|
1098
|
+
"status": err.response.status,
|
|
1099
|
+
"message": err.response.data.error_description
|
|
1100
|
+
});
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
|
|
1073
1106
|
let URL = `${keycloakConfig["auth-server-url"]}${keycloakConfig["USERNAME_ADMIN"]}/realms/${keycloakConfig["realm"]}/users`;
|
|
1074
1107
|
|
|
1075
1108
|
let data = {
|
|
@@ -1081,11 +1114,10 @@ class KeycloakService extends Keycloak {
|
|
|
1081
1114
|
value: password,
|
|
1082
1115
|
temporary: false
|
|
1083
1116
|
}
|
|
1084
|
-
]
|
|
1117
|
+
],
|
|
1118
|
+
groups: ["agents", "default"]
|
|
1085
1119
|
}
|
|
1086
1120
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
1121
|
let config = {
|
|
1090
1122
|
method: 'post',
|
|
1091
1123
|
url: URL,
|
|
@@ -1151,6 +1183,43 @@ class KeycloakService extends Keycloak {
|
|
|
1151
1183
|
});
|
|
1152
1184
|
}
|
|
1153
1185
|
|
|
1186
|
+
async createGroup(adminToken, groupName) {
|
|
1187
|
+
|
|
1188
|
+
return new Promise(async (resolve, reject) => {
|
|
1189
|
+
|
|
1190
|
+
let URL = `${keycloakConfig["auth-server-url"]}${keycloakConfig["USERNAME_ADMIN"]}/realms/${keycloakConfig["realm"]}/groups`;
|
|
1191
|
+
|
|
1192
|
+
let data = {
|
|
1193
|
+
name: groupName
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
|
|
1197
|
+
let config = {
|
|
1198
|
+
method: 'post',
|
|
1199
|
+
url: URL,
|
|
1200
|
+
headers: {
|
|
1201
|
+
'Authorization': `Bearer ${adminToken}`
|
|
1202
|
+
},
|
|
1203
|
+
data: data
|
|
1204
|
+
};
|
|
1205
|
+
|
|
1206
|
+
try {
|
|
1207
|
+
|
|
1208
|
+
let createdGroup = await requestController.httpRequest(config, false);
|
|
1209
|
+
resolve(createdGroup.data);
|
|
1210
|
+
|
|
1211
|
+
}
|
|
1212
|
+
catch (err) {
|
|
1213
|
+
reject({
|
|
1214
|
+
"status": err.response.status,
|
|
1215
|
+
"message": err.response.data.error_description
|
|
1216
|
+
});
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
});
|
|
1220
|
+
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1154
1223
|
//Authenticating Finesse User
|
|
1155
1224
|
async authenticateFinesse(username, password, finesseUrl, userRoles, finesseToken) {
|
|
1156
1225
|
|