@@ -78,10 +78,11 @@ func AuthorizeHandler() gin.HandlerFunc {
7878 })
7979
8080 code := uuid .New ().String ()
81+ nonce := uuid .New ().String ()
8182 memorystore .Provider .SetState (codeChallenge , code )
8283
8384 // used for response mode query or fragment
84- loginState := "state=" + state + "&scope=" + strings .Join (scope , " " ) + "&redirect_uri=" + redirectURI + "&code=" + code
85+ loginState := "state=" + state + "&scope=" + strings .Join (scope , " " ) + "&redirect_uri=" + redirectURI + "&code=" + code + "&nonce=" + nonce
8586 loginURL := "/app?" + loginState
8687
8788 if responseMode == constants .ResponseModeFragment {
@@ -150,7 +151,6 @@ func AuthorizeHandler() gin.HandlerFunc {
150151 sessionKey = claims .LoginMethod + ":" + user .ID
151152 }
152153
153- nonce := uuid .New ().String ()
154154 newSessionTokenData , newSessionToken , err := token .CreateSessionToken (user , nonce , claims .Roles , scope , claims .LoginMethod )
155155 if err != nil {
156156 log .Debug ("CreateSessionToken failed: " , err )
@@ -188,7 +188,7 @@ func AuthorizeHandler() gin.HandlerFunc {
188188 // },
189189 // })
190190
191- params := "code=" + code + "&state=" + state
191+ params := "code=" + code + "&state=" + state + "&nonce=" + nonce
192192 if responseMode == constants .ResponseModeQuery {
193193 if strings .Contains (redirectURI , "?" ) {
194194 redirectURI = redirectURI + "&" + params
@@ -243,7 +243,7 @@ func AuthorizeHandler() gin.HandlerFunc {
243243 }
244244
245245 // used of query mode
246- params := "access_token=" + authToken .AccessToken .Token + "&token_type=bearer&expires_in=" + strconv .FormatInt (expiresIn , 10 ) + "&state=" + state + "&id_token=" + authToken .IDToken .Token + "&code=" + code
246+ params := "access_token=" + authToken .AccessToken .Token + "&token_type=bearer&expires_in=" + strconv .FormatInt (expiresIn , 10 ) + "&state=" + state + "&id_token=" + authToken .IDToken .Token + "&code=" + code + "&nonce=" + nonce
247247
248248 res := map [string ]interface {}{
249249 "access_token" : authToken .AccessToken .Token ,
@@ -253,6 +253,7 @@ func AuthorizeHandler() gin.HandlerFunc {
253253 "token_type" : "Bearer" ,
254254 "expires_in" : expiresIn ,
255255 "code" : code ,
256+ "nonce" : nonce ,
256257 }
257258
258259 if authToken .RefreshToken != nil {
0 commit comments