programmaticrefreshcredsource.go raw
1 // Copyright 2024 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package externalaccount
6
7 import "context"
8
9 type programmaticRefreshCredentialSource struct {
10 supplierOptions SupplierOptions
11 subjectTokenSupplier SubjectTokenSupplier
12 ctx context.Context
13 }
14
15 func (cs programmaticRefreshCredentialSource) credentialSourceType() string {
16 return "programmatic"
17 }
18
19 func (cs programmaticRefreshCredentialSource) subjectToken() (string, error) {
20 return cs.subjectTokenSupplier.SubjectToken(cs.ctx, cs.supplierOptions)
21 }
22