mirror of
https://github.com/versity/versitygw.git
synced 2026-01-05 03:24:04 +00:00
Fixes #524. The iam single needs to return ErrNoSuchUser instead of ErrNotSupported in GetUserAccount to return the correct error when the client access is not done by the single user account. This fixes the internal error when accessing the gateway in iam single user mode with incorrect access keys.
52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
// Copyright 2023 Versity Software
|
|
// This file is 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 auth
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
// IAMServiceSingle manages the single tenant (root-only) IAM service
|
|
type IAMServiceSingle struct{}
|
|
|
|
var _ IAMService = &IAMServiceSingle{}
|
|
|
|
var ErrNotSupported = errors.New("method is not supported")
|
|
|
|
// CreateAccount not valid in single tenant mode
|
|
func (IAMServiceSingle) CreateAccount(account Account) error {
|
|
return ErrNotSupported
|
|
}
|
|
|
|
// GetUserAccount no accounts in single tenant mode
|
|
func (IAMServiceSingle) GetUserAccount(access string) (Account, error) {
|
|
return Account{}, ErrNoSuchUser
|
|
}
|
|
|
|
// DeleteUserAccount no accounts in single tenant mode
|
|
func (IAMServiceSingle) DeleteUserAccount(access string) error {
|
|
return ErrNotSupported
|
|
}
|
|
|
|
// ListUserAccounts no accounts in single tenant mode
|
|
func (IAMServiceSingle) ListUserAccounts() ([]Account, error) {
|
|
return []Account{}, nil
|
|
}
|
|
|
|
// Shutdown graceful termination of service
|
|
func (IAMServiceSingle) Shutdown() error {
|
|
return nil
|
|
}
|