12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*
- * MinIO Go Library for Amazon S3 Compatible Cloud Storage
- * Copyright 2017 MinIO, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package credentials
- // A Static is a set of credentials which are set programmatically,
- // and will never expire.
- type Static struct {
- Value
- }
- // NewStaticV2 returns a pointer to a new Credentials object
- // wrapping a static credentials value provider, signature is
- // set to v2. If access and secret are not specified then
- // regardless of signature type set it Value will return
- // as anonymous.
- func NewStaticV2(id, secret, token string) *Credentials {
- return NewStatic(id, secret, token, SignatureV2)
- }
- // NewStaticV4 is similar to NewStaticV2 with similar considerations.
- func NewStaticV4(id, secret, token string) *Credentials {
- return NewStatic(id, secret, token, SignatureV4)
- }
- // NewStatic returns a pointer to a new Credentials object
- // wrapping a static credentials value provider.
- func NewStatic(id, secret, token string, signerType SignatureType) *Credentials {
- return New(&Static{
- Value: Value{
- AccessKeyID: id,
- SecretAccessKey: secret,
- SessionToken: token,
- SignerType: signerType,
- },
- })
- }
- // Retrieve returns the static credentials.
- func (s *Static) Retrieve() (Value, error) {
- if s.AccessKeyID == "" || s.SecretAccessKey == "" {
- // Anonymous is not an error
- return Value{SignerType: SignatureAnonymous}, nil
- }
- return s.Value, nil
- }
- // IsExpired returns if the credentials are expired.
- //
- // For Static, the credentials never expired.
- func (s *Static) IsExpired() bool {
- return false
- }
|