summaryrefslogtreecommitdiff
path: root/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2025-02-03 10:39:40 +0000
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:39:40 +0000
commitacd3e80ae153bbdfc11b196689d71e3ec1bb3eed (patch)
tree498713061d806a43cb4e2ccbf662873d3b415668 /vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go
parent[feature] Implement Web Push notification policy (#3721) (diff)
downloadgotosocial-acd3e80ae153bbdfc11b196689d71e3ec1bb3eed.tar.xz
[chore]: Bump github.com/minio/minio-go/v7 from 7.0.81 to 7.0.84 (#3728)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.81 to 7.0.84. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.81...v7.0.84) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go')
-rw-r--r--vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go42
1 files changed, 31 insertions, 11 deletions
diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go
index 62bfbb6b0..ef6f436b8 100644
--- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go
+++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go
@@ -72,7 +72,8 @@ type ClientGrantsToken struct {
type STSClientGrants struct {
Expiry
- // Required http Client to use when connecting to MinIO STS service.
+ // Optional http Client to use when connecting to MinIO STS service.
+ // (overrides default client in CredContext)
Client *http.Client
// MinIO endpoint to fetch STS credentials.
@@ -90,16 +91,10 @@ type STSClientGrants struct {
// NewSTSClientGrants returns a pointer to a new
// Credentials object wrapping the STSClientGrants.
func NewSTSClientGrants(stsEndpoint string, getClientGrantsTokenExpiry func() (*ClientGrantsToken, error)) (*Credentials, error) {
- if stsEndpoint == "" {
- return nil, errors.New("STS endpoint cannot be empty")
- }
if getClientGrantsTokenExpiry == nil {
return nil, errors.New("Client grants access token and expiry retrieval function should be defined")
}
return New(&STSClientGrants{
- Client: &http.Client{
- Transport: http.DefaultTransport,
- },
STSEndpoint: stsEndpoint,
GetClientGrantsTokenExpiry: getClientGrantsTokenExpiry,
}), nil
@@ -162,10 +157,29 @@ func getClientGrantsCredentials(clnt *http.Client, endpoint string,
return a, nil
}
-// Retrieve retrieves credentials from the MinIO service.
-// Error will be returned if the request fails.
-func (m *STSClientGrants) Retrieve() (Value, error) {
- a, err := getClientGrantsCredentials(m.Client, m.STSEndpoint, m.GetClientGrantsTokenExpiry)
+// RetrieveWithCredContext is like Retrieve() with cred context
+func (m *STSClientGrants) RetrieveWithCredContext(cc *CredContext) (Value, error) {
+ if cc == nil {
+ cc = defaultCredContext
+ }
+
+ client := m.Client
+ if client == nil {
+ client = cc.Client
+ }
+ if client == nil {
+ client = defaultCredContext.Client
+ }
+
+ stsEndpoint := m.STSEndpoint
+ if stsEndpoint == "" {
+ stsEndpoint = cc.Endpoint
+ }
+ if stsEndpoint == "" {
+ return Value{}, errors.New("STS endpoint unknown")
+ }
+
+ a, err := getClientGrantsCredentials(client, stsEndpoint, m.GetClientGrantsTokenExpiry)
if err != nil {
return Value{}, err
}
@@ -181,3 +195,9 @@ func (m *STSClientGrants) Retrieve() (Value, error) {
SignerType: SignatureV4,
}, nil
}
+
+// Retrieve retrieves credentials from the MinIO service.
+// Error will be returned if the request fails.
+func (m *STSClientGrants) Retrieve() (Value, error) {
+ return m.RetrieveWithCredContext(nil)
+}