fix: access_token renew + web_message redirect

This commit is contained in:
Lakhan Samani 2022-11-29 05:27:29 +05:30
parent 7a28795fa0
commit 1c4e29fa7c
2 changed files with 4 additions and 4 deletions

View File

@ -139,6 +139,7 @@ func AuthorizeHandler() gin.HandlerFunc {
"error_description": "code challenge is required", "error_description": "code challenge is required",
}, },
}, http.StatusOK) }, http.StatusOK)
return
} }
loginError := map[string]interface{}{ loginError := map[string]interface{}{
@ -268,7 +269,7 @@ func AuthorizeHandler() gin.HandlerFunc {
return return
} }
if err := memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeAccessToken+"_"+nonce, authToken.FingerPrintHash); err != nil { if err := memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeAccessToken+"_"+nonce, authToken.AccessToken.Token); err != nil {
log.Debug("SetUserSession failed: ", err) log.Debug("SetUserSession failed: ", err)
handleResponse(gc, responseMode, loginURL, redirectURI, loginError, http.StatusOK) handleResponse(gc, responseMode, loginURL, redirectURI, loginError, http.StatusOK)
return return
@ -321,6 +322,7 @@ func AuthorizeHandler() gin.HandlerFunc {
} }
handleResponse(gc, responseMode, loginURL, redirectURI, loginError, http.StatusOK) handleResponse(gc, responseMode, loginURL, redirectURI, loginError, http.StatusOK)
return
} }
} }
@ -349,14 +351,13 @@ func handleResponse(gc *gin.Context, responseMode, loginURI, redirectURI string,
isAuthenticationRequired = true isAuthenticationRequired = true
} }
if isAuthenticationRequired { if isAuthenticationRequired && responseMode != constants.ResponseModeWebMessage {
gc.Redirect(http.StatusFound, loginURI) gc.Redirect(http.StatusFound, loginURI)
return return
} }
switch responseMode { switch responseMode {
case constants.ResponseModeQuery, constants.ResponseModeFragment: case constants.ResponseModeQuery, constants.ResponseModeFragment:
gc.Redirect(http.StatusFound, redirectURI) gc.Redirect(http.StatusFound, redirectURI)
return return
case constants.ResponseModeWebMessage: case constants.ResponseModeWebMessage:

View File

@ -9,7 +9,6 @@ import (
func CORSMiddleware() gin.HandlerFunc { func CORSMiddleware() gin.HandlerFunc {
return func(c *gin.Context) { return func(c *gin.Context) {
origin := c.Request.Header.Get("Origin") origin := c.Request.Header.Get("Origin")
if validators.IsValidOrigin(origin) { if validators.IsValidOrigin(origin) {
c.Writer.Header().Set("Access-Control-Allow-Origin", origin) c.Writer.Header().Set("Access-Control-Allow-Origin", origin)
} }