minio / minio-go

MinIO Go client SDK for S3 compatible object storage
https://docs.min.io/docs/golang-client-quickstart-guide.html
Apache License 2.0
2.45k stars 633 forks source link

add support for sso auth #1911

Open jchorl opened 9 months ago

jchorl commented 9 months ago

This PR adds credential support for retrieving AWS SSO credentials and using those against a bucket store. I also added a test.

SSO is becoming increasingly common for many benefits. I figured I'd try a PR to support it in MinIO. I can understand if this feels too coupled with a single provider, figured I'd try anyway.

This is not a full-fledged implementation, but it works and was enough to get me off the ground running. I'm sure there are edge-cases and configs that are not covered here. I noticed that AWS sdk is not vendored in this project, so I opted to write an implementation from scratch.

jchorl commented 1 month ago

@harshavardhana is it an explicit goal of minio not to vendor in aws libraries? They'd be really useful here to avoid reimplementing the mechanics of SSO. I noticed some activity on https://github.com/minio/minio-go/issues/1930 and was willing to pick this back up.