| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package auth
- import (
- "context"
- "time"
- "github.com/aws/smithy-go"
- )
- // Identity contains information that identifies who the user making the
- // request is.
- type Identity interface {
- Expiration() time.Time
- }
- // IdentityResolver defines the interface through which an Identity is
- // retrieved.
- type IdentityResolver interface {
- GetIdentity(context.Context, smithy.Properties) (Identity, error)
- }
- // IdentityResolverOptions defines the interface through which an entity can be
- // queried to retrieve an IdentityResolver for a given auth scheme.
- type IdentityResolverOptions interface {
- GetIdentityResolver(schemeID string) IdentityResolver
- }
- // AnonymousIdentity is a sentinel to indicate no identity.
- type AnonymousIdentity struct{}
- var _ Identity = (*AnonymousIdentity)(nil)
- // Expiration returns the zero value for time, as anonymous identity never
- // expires.
- func (*AnonymousIdentity) Expiration() time.Time {
- return time.Time{}
- }
- // AnonymousIdentityResolver returns AnonymousIdentity.
- type AnonymousIdentityResolver struct{}
- var _ IdentityResolver = (*AnonymousIdentityResolver)(nil)
- // GetIdentity returns AnonymousIdentity.
- func (*AnonymousIdentityResolver) GetIdentity(_ context.Context, _ smithy.Properties) (Identity, error) {
- return &AnonymousIdentity{}, nil
- }
|