32 lines
905 B
Go
32 lines
905 B
Go
|
package auth
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/auth/credentials"
|
||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/auth/signers"
|
||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||
|
)
|
||
|
|
||
|
type Signer interface {
|
||
|
GetName() string
|
||
|
Sign(stringToSign, secretSuffix string) string
|
||
|
}
|
||
|
|
||
|
|
||
|
func NewSignerWithCredential(credential Credential, commonApi func(request *requests.CommonRequest, signer interface{}) (response *responses.CommonResponse, err error)) (signer Signer, err error) {
|
||
|
switch instance := credential.(type) {
|
||
|
case *credentials.AccessKeyCredential:
|
||
|
signer = signers.NewAccessKeySigner(instance)
|
||
|
default:
|
||
|
err = errors.New("UnsupportedCredentialErrorCode = SDK.UnsupportedCredential")
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
func Sign(request requests.AcsRequest, signer Signer, regionId string) (err error) {
|
||
|
|
||
|
|
||
|
}
|