| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * 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 signers
- import (
- "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
- )
- type StsTokenSigner struct {
- credential *credentials.StsTokenCredential
- }
- func NewStsTokenSigner(credential *credentials.StsTokenCredential) *StsTokenSigner {
- return &StsTokenSigner{
- credential: credential,
- }
- }
- func (*StsTokenSigner) GetName() string {
- return "HMAC-SHA1"
- }
- func (*StsTokenSigner) GetType() string {
- return ""
- }
- func (*StsTokenSigner) GetVersion() string {
- return "1.0"
- }
- func (signer *StsTokenSigner) GetAccessKeyId() (accessKeyId string, err error) {
- return signer.credential.AccessKeyId, nil
- }
- func (signer *StsTokenSigner) GetExtraParam() map[string]string {
- return map[string]string{"SecurityToken": signer.credential.AccessKeyStsToken}
- }
- func (signer *StsTokenSigner) Sign(stringToSign, secretSuffix string) string {
- secret := signer.credential.AccessKeySecret + secretSuffix
- return ShaHmac1(stringToSign, secret)
- }
|