check if client credential client is authenticated
This commit is contained in:
parent
aae3492f7b
commit
c98291a6a7
1 changed files with 6 additions and 3 deletions
|
@ -269,14 +269,17 @@ func (s *webServer) tokenExchangeHandler(w http.ResponseWriter, r *http.Request,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *webServer) clientCredentialsHandler(w http.ResponseWriter, r *http.Request, client Client) {
|
func (s *webServer) clientCredentialsHandler(w http.ResponseWriter, r *http.Request, client Client) {
|
||||||
|
if client.AuthMethod() == oidc.AuthMethodNone {
|
||||||
|
err := oidc.ErrInvalidClient().WithDescription("client must be authenticated")
|
||||||
|
WriteError(w, r, err, s.logger)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
request, err := decodeRequest[oidc.ClientCredentialsRequest](s.decoder, r, false)
|
request, err := decodeRequest[oidc.ClientCredentialsRequest](s.decoder, r, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
WriteError(w, r, err, s.logger)
|
WriteError(w, r, err, s.logger)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: is a public client allowed here?
|
|
||||||
|
|
||||||
resp, err := s.server.ClientCredentialsExchange(r.Context(), newClientRequest(r, request, client))
|
resp, err := s.server.ClientCredentialsExchange(r.Context(), newClientRequest(r, request, client))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
WriteError(w, r, err, s.logger)
|
WriteError(w, r, err, s.logger)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue