74 lines
2.1 KiB
Go
74 lines
2.1 KiB
Go
// Copyright IBM Corp. 2020, 2026
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package request
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hashicorp/boundary/internal/errors"
|
|
)
|
|
|
|
// Validate the request.State
|
|
func (s *State) Validate(ctx context.Context) error {
|
|
const op = "request.(State).Validate"
|
|
if s == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing state")
|
|
}
|
|
if s.TokenRequestId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing token request id")
|
|
}
|
|
if s.CreateTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing create time")
|
|
}
|
|
if s.ExpirationTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing expiration time")
|
|
}
|
|
if s.FinalRedirectUrl == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing final redirect URL")
|
|
}
|
|
if s.Nonce == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing nonce")
|
|
}
|
|
if s.ProviderConfigHash == 0 {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing provider config hash")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validate the request.Wrapper
|
|
func (w *Wrapper) Validate(ctx context.Context) error {
|
|
const op = "request.(Wrapper).Validate"
|
|
if w == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing wrapper")
|
|
}
|
|
if w.AuthMethodId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing auth method id")
|
|
}
|
|
if w.ScopeId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing scope id")
|
|
}
|
|
if w.WrapperKeyId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing wrapper key id")
|
|
}
|
|
if len(w.Ct) == 0 {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing ct")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validate the request.Token
|
|
func (t *Token) Validate(ctx context.Context) error {
|
|
const op = "request.(Token).Validate"
|
|
if t == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing token")
|
|
}
|
|
if t.RequestId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing request id")
|
|
}
|
|
if t.ExpirationTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing expiration time")
|
|
}
|
|
return nil
|
|
}
|