...
1 package auth
2
3 import (
4 "context"
5 "time"
6
7 "github.com/aws/smithy-go"
8 )
9
10
11
12 type Identity interface {
13 Expiration() time.Time
14 }
15
16
17
18 type IdentityResolver interface {
19 GetIdentity(context.Context, smithy.Properties) (Identity, error)
20 }
21
22
23
24 type IdentityResolverOptions interface {
25 GetIdentityResolver(schemeID string) IdentityResolver
26 }
27
28
29 type AnonymousIdentity struct{}
30
31 var _ Identity = (*AnonymousIdentity)(nil)
32
33
34
35 func (*AnonymousIdentity) Expiration() time.Time {
36 return time.Time{}
37 }
38
39
40 type AnonymousIdentityResolver struct{}
41
42 var _ IdentityResolver = (*AnonymousIdentityResolver)(nil)
43
44
45 func (*AnonymousIdentityResolver) GetIdentity(_ context.Context, _ smithy.Properties) (Identity, error) {
46 return &AnonymousIdentity{}, nil
47 }
48
View as plain text