fix: access_token renew + web_message redirect
This commit is contained in:
parent
7a28795fa0
commit
1c4e29fa7c
|
@ -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:
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user