From 99ca0f3b7e829bfa5f612aa7223404b27f2f76cf Mon Sep 17 00:00:00 2001 From: Sonia <31467983+bsoniam@users.noreply.github.com> Date: Mon, 16 Dec 2019 15:03:06 +0100 Subject: [PATCH] [CLOUDTRUST-1917] whitelist 2 more messages errors --- keycloak_client.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/keycloak_client.go b/keycloak_client.go index 659183e..861accc 100644 --- a/keycloak_client.go +++ b/keycloak_client.go @@ -403,6 +403,14 @@ func treatErrorStatus(resp *gentleman.Response) error { func whitelistErrors(statusCode int, message string) error { // whitelist errors from Keycloak reg := regexp.MustCompile("invalidPassword[a-zA-Z]*Message") + errorMessages := map[string]string{ + "User exists with same username or email": MsgErrExistingValue + "." + UserOrEmail, + "usernameExistsMessage": MsgErrExistingValue + "." + UserOrEmail, + "emailExistsMessage": MsgErrExistingValue + "." + UserOrEmail, + "Username exists with same username": MsgErrExistingValue + "." + UserOrEmail, + "Username exists with same email": MsgErrExistingValue + "." + UserOrEmail, + "readOnlyUsernameMessage": MsgErrReadOnly + "." + Username, + } switch { //POST account/credentials/password with error message related to invalid value for the password @@ -413,15 +421,10 @@ func whitelistErrors(statusCode int, message string) error { Message: "keycloak." + message, } // update account in back-office or self-service - case (message == "User exists with same username or email") || (message == "usernameExistsMessage") || (message == "emailExistsMessage"): - return commonhttp.Error{ - Status: statusCode, - Message: "keycloak." + MsgErrExistingValue + "." + UserOrEmail, - } - case message == "readOnlyUsernameMessage": + case errorMessages[message] != "": return commonhttp.Error{ Status: statusCode, - Message: "keycloak." + MsgErrReadOnly + "." + Username, + Message: "keycloak." + errorMessages[message], } default: return HTTPError{