@@ -19,14 +19,14 @@ type AccessToken struct {
19
19
ExpiresOn time.Time
20
20
}
21
21
22
- type TokenCredential interface {
22
+ type TokenRetriever interface {
23
23
GetCacheKey () string
24
24
Init () error
25
25
GetAccessToken (ctx context.Context , scopes []string ) (* AccessToken , error )
26
26
}
27
27
28
28
type ConcurrentTokenCache interface {
29
- GetAccessToken (ctx context.Context , credential TokenCredential , scopes []string ) (string , error )
29
+ GetAccessToken (ctx context.Context , tokenRetriever TokenRetriever , scopes []string ) (string , error )
30
30
}
31
31
32
32
func NewConcurrentTokenCache () ConcurrentTokenCache {
@@ -37,35 +37,35 @@ type tokenCacheImpl struct {
37
37
cache sync.Map // of *credentialCacheEntry
38
38
}
39
39
type credentialCacheEntry struct {
40
- credential TokenCredential
40
+ retriever TokenRetriever
41
41
42
42
credInit uint32
43
43
credMutex sync.Mutex
44
44
cache sync.Map // of *scopesCacheEntry
45
45
}
46
46
47
47
type scopesCacheEntry struct {
48
- credential TokenCredential
49
- scopes []string
48
+ retriever TokenRetriever
49
+ scopes []string
50
50
51
51
cond * sync.Cond
52
52
refreshing bool
53
53
accessToken * AccessToken
54
54
}
55
55
56
- func (c * tokenCacheImpl ) GetAccessToken (ctx context.Context , credential TokenCredential , scopes []string ) (string , error ) {
57
- return c .getEntryFor (credential ).getAccessToken (ctx , scopes )
56
+ func (c * tokenCacheImpl ) GetAccessToken (ctx context.Context , tokenRetriever TokenRetriever , scopes []string ) (string , error ) {
57
+ return c .getEntryFor (tokenRetriever ).getAccessToken (ctx , scopes )
58
58
}
59
59
60
- func (c * tokenCacheImpl ) getEntryFor (credential TokenCredential ) * credentialCacheEntry {
60
+ func (c * tokenCacheImpl ) getEntryFor (credential TokenRetriever ) * credentialCacheEntry {
61
61
var entry interface {}
62
62
var ok bool
63
63
64
64
key := credential .GetCacheKey ()
65
65
66
66
if entry , ok = c .cache .Load (key ); ! ok {
67
67
entry , _ = c .cache .LoadOrStore (key , & credentialCacheEntry {
68
- credential : credential ,
68
+ retriever : credential ,
69
69
})
70
70
}
71
71
@@ -87,8 +87,8 @@ func (c *credentialCacheEntry) ensureInitialized() error {
87
87
defer c .credMutex .Unlock ()
88
88
89
89
if c .credInit == 0 {
90
- // Initialize credential
91
- err := c .credential .Init ()
90
+ // Initialize retriever
91
+ err := c .retriever .Init ()
92
92
if err != nil {
93
93
return err
94
94
}
@@ -108,9 +108,9 @@ func (c *credentialCacheEntry) getEntryFor(scopes []string) *scopesCacheEntry {
108
108
109
109
if entry , ok = c .cache .Load (key ); ! ok {
110
110
entry , _ = c .cache .LoadOrStore (key , & scopesCacheEntry {
111
- credential : c .credential ,
112
- scopes : scopes ,
113
- cond : sync .NewCond (& sync.Mutex {}),
111
+ retriever : c .retriever ,
112
+ scopes : scopes ,
113
+ cond : sync .NewCond (& sync.Mutex {}),
114
114
})
115
115
}
116
116
@@ -155,7 +155,7 @@ func (c *scopesCacheEntry) getAccessToken(ctx context.Context) (string, error) {
155
155
func (c * scopesCacheEntry ) refreshAccessToken (ctx context.Context ) (* AccessToken , error ) {
156
156
var accessToken * AccessToken
157
157
158
- // Safeguarding from panic caused by credential implementation
158
+ // Safeguarding from panic caused by retriever implementation
159
159
defer func () {
160
160
c .cond .L .Lock ()
161
161
@@ -169,7 +169,7 @@ func (c *scopesCacheEntry) refreshAccessToken(ctx context.Context) (*AccessToken
169
169
c .cond .L .Unlock ()
170
170
}()
171
171
172
- token , err := c .credential .GetAccessToken (ctx , c .scopes )
172
+ token , err := c .retriever .GetAccessToken (ctx , c .scopes )
173
173
if err != nil {
174
174
return nil , err
175
175
}
0 commit comments