feat(rp): allow form_post in code exchange callback handler
This commit is contained in:
parent
6d9aaf7986
commit
67206e757e
1 changed files with 3 additions and 4 deletions
|
@ -494,9 +494,8 @@ func CodeExchangeHandler[C oidc.IDClaims](callback CodeExchangeCallback[C], rp R
|
||||||
unauthorizedError(w, r, "failed to get state: "+err.Error(), state, rp)
|
unauthorizedError(w, r, "failed to get state: "+err.Error(), state, rp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
params := r.URL.Query()
|
if errValue := r.FormValue("error"); errValue != "" {
|
||||||
if params.Get("error") != "" {
|
rp.ErrorHandler()(w, r, errValue, r.FormValue("error_description"), state)
|
||||||
rp.ErrorHandler()(w, r, params.Get("error"), params.Get("error_description"), state)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
codeOpts := make([]CodeExchangeOpt, len(urlParam))
|
codeOpts := make([]CodeExchangeOpt, len(urlParam))
|
||||||
|
@ -521,7 +520,7 @@ func CodeExchangeHandler[C oidc.IDClaims](callback CodeExchangeCallback[C], rp R
|
||||||
}
|
}
|
||||||
codeOpts = append(codeOpts, WithClientAssertionJWT(assertion))
|
codeOpts = append(codeOpts, WithClientAssertionJWT(assertion))
|
||||||
}
|
}
|
||||||
tokens, err := CodeExchange[C](r.Context(), params.Get("code"), rp, codeOpts...)
|
tokens, err := CodeExchange[C](r.Context(), r.FormValue("code"), rp, codeOpts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
unauthorizedError(w, r, "failed to exchange token: "+err.Error(), state, rp)
|
unauthorizedError(w, r, "failed to exchange token: "+err.Error(), state, rp)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue