func getSigninToken()

in pkg/resource.go [234:262]


func getSigninToken(id string, secret string, token string) (*SigninResponse, error) {
	urlStr := "http://signin.aliyun.com/federation?Action=GetSigninToken"
	urlStr += "&AccessKeyId=" + id
	urlStr += "&AccessKeySecret=" + secret
	urlStr += "&SecurityToken=" + url.QueryEscape(token)
	urlStr += "&TicketType=mini"

	transport := http.DefaultTransport.(*http.Transport).Clone()
	transport.DialContext = network.DefaultNetworkFilter.FilterHttpDialContext(transport.DialContext)
	client := &http.Client{
		Transport: transport,
	}

	res, err := client.Get(urlStr)
	if err != nil {
		return nil, err
	}
	body, err := ioutil.ReadAll(res.Body)
	if err != nil {
		return nil, err
	}
	// fmt.Println("SigninToken json:", string(body))
	resp := SigninResponse{}
	err = json.Unmarshal(body, &resp)
	if err != nil {
		return nil, err
	}
	return &resp, nil
}