Compare commits

...

2 Commits

Author SHA1 Message Date
Lakhan Samani
eaa10ec5bc fix: error detection 2022-10-18 22:34:57 +05:30
Lakhan Samani
253128ca0c fix: query params for code response 2022-10-18 22:00:54 +05:30

View File

@@ -106,6 +106,7 @@ func AuthorizeHandler() gin.HandlerFunc {
handleResponse(gc, responseMode, loginURL, redirectURI, loginError, http.StatusOK)
return
}
userID := claims.Subject
user, err := db.Provider.GetUserByID(gc, userID)
if err != nil {
@@ -163,21 +164,20 @@ func AuthorizeHandler() gin.HandlerFunc {
// },
// })
// params := "code=" + code + "&state=" + state
// if responseMode == constants.ResponseModeQuery {
// if strings.Contains(redirectURI, "?") {
// redirectURI = redirectURI + "&" + params
// } else {
// redirectURI = redirectURI + "?" + params
// }
// } else if responseMode == constants.ResponseModeFragment {
// if strings.Contains(redirectURI, "#") {
// redirectURI = redirectURI + "&" + params
// } else {
// redirectURI = redirectURI + "#" + params
// }
// }
params := "code=" + code + "&state=" + state
if responseMode == constants.ResponseModeQuery {
if strings.Contains(redirectURI, "?") {
redirectURI = redirectURI + "&" + params
} else {
redirectURI = redirectURI + "?" + params
}
} else if responseMode == constants.ResponseModeFragment {
if strings.Contains(redirectURI, "#") {
redirectURI = redirectURI + "&" + params
} else {
redirectURI = redirectURI + "#" + params
}
}
handleResponse(gc, responseMode, loginURL, redirectURI, map[string]interface{}{
"type": "authorization_response",
@@ -287,7 +287,7 @@ func validateAuthorizeRequest(responseType, responseMode, clientID, state, codeC
func handleResponse(gc *gin.Context, responseMode, loginURI, redirectURI string, data map[string]interface{}, httpStatusCode int) {
isAuthenticationRequired := false
if _, ok := data["error"]; ok {
if _, ok := data["response"].(map[string]string)["error"]; ok {
isAuthenticationRequired = true
}