fix: don't force server errors in legacy server (#517)
* fix: don't force server errors in legacy server * fix tests and be more consistent with the returned status code
This commit is contained in:
parent
844e2337bb
commit
57d04e7465
5 changed files with 42 additions and 22 deletions
|
@ -138,20 +138,20 @@ func ParseRequestObject(ctx context.Context, authReq *oidc.AuthRequest, storage
|
|||
}
|
||||
|
||||
if requestObject.ClientID != "" && requestObject.ClientID != authReq.ClientID {
|
||||
return oidc.ErrInvalidRequest()
|
||||
return oidc.ErrInvalidRequest().WithDescription("missing or wrong client id in request")
|
||||
}
|
||||
if requestObject.ResponseType != "" && requestObject.ResponseType != authReq.ResponseType {
|
||||
return oidc.ErrInvalidRequest()
|
||||
return oidc.ErrInvalidRequest().WithDescription("missing or wrong response type in request")
|
||||
}
|
||||
if requestObject.Issuer != requestObject.ClientID {
|
||||
return oidc.ErrInvalidRequest()
|
||||
return oidc.ErrInvalidRequest().WithDescription("missing or wrong issuer in request")
|
||||
}
|
||||
if !str.Contains(requestObject.Audience, issuer) {
|
||||
return oidc.ErrInvalidRequest()
|
||||
return oidc.ErrInvalidRequest().WithDescription("issuer missing in audience")
|
||||
}
|
||||
keySet := &jwtProfileKeySet{storage: storage, clientID: requestObject.Issuer}
|
||||
if err = oidc.CheckSignature(ctx, authReq.RequestParam, payload, requestObject, nil, keySet); err != nil {
|
||||
return err
|
||||
return oidc.ErrInvalidRequest().WithParent(err).WithDescription(err.Error())
|
||||
}
|
||||
CopyRequestObjectToAuthRequest(authReq, requestObject)
|
||||
return nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue