Merge pull request #7837 from ioito/hotfix/qx-clouduser-logininfo

fix: optimzed clouduser password
This commit is contained in:
yunion-ci-robot
2020-09-10 14:33:54 +08:00
committed by GitHub
+13
View File
@@ -15,10 +15,14 @@
package modules
import (
"fmt"
"strings"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/utils"
api "yunion.io/x/onecloud/pkg/apis/compute"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
@@ -50,6 +54,7 @@ func (this *SClouduserManager) GetLoginInfo(s *mcclient.ClientSession, id string
Id string
Name string
Secret string
Provider string
IamLoginUrl string
}{}
@@ -67,6 +72,14 @@ func (this *SClouduserManager) GetLoginInfo(s *mcclient.ClientSession, id string
return nil, errors.Wrap(err, "Descrypt")
}
if user.Provider == api.CLOUD_PROVIDER_ALIYUN {
suffix := strings.TrimPrefix(user.IamLoginUrl, "https://signin.aliyun.com/")
suffix = strings.TrimSuffix(suffix, "/login.htm")
if len(suffix) > 0 {
user.Name = fmt.Sprintf("%s@%s", user.Name, suffix)
}
}
return jsonutils.Marshal(map[string]string{
"username": user.Name,
"password": password,