@@ -1126,31 +1126,36 @@ func (h *Handler) oAuth2Authorize(w http.ResponseWriter, r *http.Request, _ http
1126
1126
claims .Add ("sid" , session .ConsentRequest .LoginSessionID )
1127
1127
1128
1128
// done
1129
- response , err := h .r .OAuth2Provider ().NewAuthorizeResponse (ctx , authorizeRequest , & Session {
1130
- DefaultSession : & openid.DefaultSession {
1131
- Claims : claims ,
1132
- Headers : & jwt.Headers {Extra : map [string ]interface {}{
1133
- // required for lookup on jwk endpoint
1134
- "kid" : openIDKeyID ,
1135
- }},
1136
- Subject : session .ConsentRequest .Subject ,
1137
- },
1138
- Extra : session .Session .AccessToken ,
1139
- KID : accessTokenKeyID ,
1140
- ClientID : authorizeRequest .GetClient ().GetID (),
1141
- ConsentChallenge : session .ID ,
1142
- ExcludeNotBeforeClaim : h .c .ExcludeNotBeforeClaim (ctx ),
1143
- AllowedTopLevelClaims : h .c .AllowedTopLevelClaims (ctx ),
1144
- MirrorTopLevelClaims : h .c .MirrorTopLevelClaims (ctx ),
1145
- Flow : flow ,
1146
- })
1147
- if err != nil {
1129
+ if err := h .r .Persister ().Transaction (ctx , func (ctx context.Context , _ * pop.Connection ) error {
1130
+ response , err := h .r .OAuth2Provider ().NewAuthorizeResponse (ctx , authorizeRequest , & Session {
1131
+ DefaultSession : & openid.DefaultSession {
1132
+ Claims : claims ,
1133
+ Headers : & jwt.Headers {Extra : map [string ]interface {}{
1134
+ // required for lookup on jwk endpoint
1135
+ "kid" : openIDKeyID ,
1136
+ }},
1137
+ Subject : session .ConsentRequest .Subject ,
1138
+ },
1139
+ Extra : session .Session .AccessToken ,
1140
+ KID : accessTokenKeyID ,
1141
+ ClientID : authorizeRequest .GetClient ().GetID (),
1142
+ ConsentChallenge : session .ID ,
1143
+ ExcludeNotBeforeClaim : h .c .ExcludeNotBeforeClaim (ctx ),
1144
+ AllowedTopLevelClaims : h .c .AllowedTopLevelClaims (ctx ),
1145
+ MirrorTopLevelClaims : h .c .MirrorTopLevelClaims (ctx ),
1146
+ Flow : flow ,
1147
+ })
1148
+ if err != nil {
1149
+ return err
1150
+ }
1151
+
1152
+ h .r .OAuth2Provider ().WriteAuthorizeResponse (ctx , w , authorizeRequest , response )
1153
+ return nil
1154
+ }); err != nil {
1148
1155
x .LogError (r , err , h .r .Logger ())
1149
1156
h .writeAuthorizeError (w , r , authorizeRequest , err )
1150
1157
return
1151
1158
}
1152
-
1153
- h .r .OAuth2Provider ().WriteAuthorizeResponse (ctx , w , authorizeRequest , response )
1154
1159
}
1155
1160
1156
1161
// Delete OAuth 2.0 Access Token Parameters
0 commit comments