ef-keycloak-connect 1.6.1 → 1.6.3
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/errorService.js +80 -10
- package/services/finesseService.js +1 -1
- package/services/keycloakService.js +344 -790
package/package.json
CHANGED
package/services/errorService.js
CHANGED
|
@@ -8,23 +8,93 @@ class ErrorService {
|
|
|
8
8
|
|
|
9
9
|
async handleError( err ) {
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
console.log( err );
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
if ( err.code ) {
|
|
14
|
+
|
|
15
|
+
switch ( err.code ) {
|
|
16
|
+
|
|
17
|
+
case 'ETIMEDOUT':
|
|
18
|
+
return {
|
|
19
|
+
status: 408,
|
|
20
|
+
reason: `Keycloak server unaccessable against Keycloak URL, This might be due to Network Issue or Server Unavailability`
|
|
21
|
+
};
|
|
22
|
+
case 'ENOTFOUND':
|
|
23
|
+
return {
|
|
24
|
+
status: 404,
|
|
25
|
+
reason: `Hostname Not Found, Keycloak server unaccessable against Keycloak URL. Unable to resolve Hostname, This maybe due to wrong Host URL or DNS server issue`,
|
|
26
|
+
};
|
|
27
|
+
default:
|
|
28
|
+
return {
|
|
29
|
+
status: err.response.status,
|
|
30
|
+
reason: err.response.data,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
17
33
|
|
|
18
34
|
} else {
|
|
19
35
|
|
|
20
36
|
if ( err.response ) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
37
|
+
|
|
38
|
+
if ( err.response.data ) {
|
|
39
|
+
|
|
40
|
+
let errorData = err.response.data;
|
|
41
|
+
|
|
42
|
+
if ( errorData.error ) {
|
|
43
|
+
|
|
44
|
+
let error = errorData.error;
|
|
45
|
+
|
|
46
|
+
switch ( error ) {
|
|
47
|
+
|
|
48
|
+
case 'invalid_client':
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
status: err.response.status,
|
|
52
|
+
reason: 'CLIENT_ID value is not valid in Keycloak Config, please provide a valid CLIENT_ID',
|
|
53
|
+
};
|
|
54
|
+
case 'unauthorized_client':
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
status: err.response.status,
|
|
58
|
+
reason: 'CLIENT_SECRET (credentials.secret in Keycloak Config) value is not valid in Keycloak Config, please provide a valid CLIENT_SECRET',
|
|
59
|
+
};
|
|
60
|
+
case 'Realm does not exist':
|
|
61
|
+
|
|
62
|
+
return {
|
|
63
|
+
status: err.response.status,
|
|
64
|
+
reason: 'Realm is not valid in Keycloak Config, please provide a valid Keycloak Realm',
|
|
65
|
+
};
|
|
66
|
+
case 'invalid_grant':
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
status: err.response.status,
|
|
70
|
+
reason: 'Provided User Credentials are not valid, please provide a valid User Credentials',
|
|
71
|
+
};
|
|
72
|
+
default:
|
|
73
|
+
return {
|
|
74
|
+
status: err.response.status,
|
|
75
|
+
reason: err.response.data,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
} else {
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
status: err.response.status,
|
|
84
|
+
reason: err.response.data,
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
25
92
|
}
|
|
26
93
|
|
|
27
|
-
return
|
|
94
|
+
return {
|
|
95
|
+
status: 'ReferenceError',
|
|
96
|
+
reason: "Some variable or function either hasn't been declared or is out of scope"
|
|
97
|
+
};
|
|
28
98
|
}
|
|
29
99
|
}
|
|
30
100
|
}
|
|
@@ -14,7 +14,7 @@ class FinesseService {
|
|
|
14
14
|
|
|
15
15
|
return new Promise( async ( resolve, reject ) => {
|
|
16
16
|
|
|
17
|
-
var URL = finesseUrl + '/finesse/api/User/' +
|
|
17
|
+
var URL = finesseUrl + '/finesse/api/User/' + username;
|
|
18
18
|
let userObject = {};
|
|
19
19
|
|
|
20
20
|
let encodedCredentials = await this.maskCredentials( username, password );
|