@@ -0,0 +1,36 @@ | |||||
package sso | |||||
import "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" | |||||
const ( | |||||
HOST = "sso" | |||||
VERSION = "2020-08-07" | |||||
) | |||||
type Client struct { | |||||
sdk.Client | |||||
} | |||||
func (c *Client) CodeAuth(req *CodeAuthRequest) (response *CodeAuthResponse, err error) { | |||||
response = CreateCodeAuthResponse() | |||||
err = c.DoAction(req, response) | |||||
return | |||||
} | |||||
func (c *Client) GetUserInfo(req *GetUserInfoRequest) (response *GetUserInfoResponse, err error) { | |||||
response = CreateGetUserInfoResponse() | |||||
err = c.DoAction(req, response) | |||||
return | |||||
} | |||||
func (c *Client) RefreshToken(req *RefreshTokenRequest) (response *RefreshTokenResponse, err error) { | |||||
response = CreateRefreshTokenResponse() | |||||
err = c.DoAction(req, response) | |||||
return | |||||
} | |||||
func NewClientWithAccessKey(accesskey, secrect, source string) (client *Client, err error) { | |||||
client = &Client{} | |||||
err = client.InitWithAccessKey(accesskey, secrect, source) | |||||
return | |||||
} |
@@ -0,0 +1,40 @@ | |||||
package sso | |||||
import ( | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" | |||||
) | |||||
type CodeAuthRequest struct { | |||||
*requests.RpcRequest | |||||
OauthCode string `position:"Body" field:"oauthCode" default:"" ` | |||||
Ident string `position:"Body" field:"ident" default:"" ` | |||||
} | |||||
type CodeAuthResponseData struct { | |||||
*requests.RpcRequest | |||||
RefreshToken string `json:"refreshToken"` | |||||
RefreshTokenExpires int64 `json:"refreshTokenExpires"` | |||||
Token string `json:"token"` | |||||
TokenExpires int64 `json:"tokenExpires"` | |||||
User User `json:"user"` | |||||
} | |||||
type CodeAuthResponse struct { | |||||
*responses.BaseResponse | |||||
Data CodeAuthResponseData `json:"data"` | |||||
} | |||||
func CreateCodeAuthRequest() (req *CodeAuthRequest) { | |||||
req = &CodeAuthRequest{RpcRequest: &requests.RpcRequest{}} | |||||
req.InitWithApiInfo(HOST, VERSION, "/api/userSess/codeAuth") | |||||
req.Method = requests.POST | |||||
return | |||||
} | |||||
func CreateCodeAuthResponse() (response *CodeAuthResponse) { | |||||
response = &CodeAuthResponse{ | |||||
BaseResponse: &responses.BaseResponse{}, | |||||
} | |||||
return | |||||
} |
@@ -0,0 +1,36 @@ | |||||
package sso | |||||
import ( | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" | |||||
) | |||||
type GetUserInfoRequest struct { | |||||
*requests.RpcRequest | |||||
OauthCode string `position:"Body" field:"oauthCode" default:"" ` | |||||
Ident string `position:"Body" field:"ident" default:"" ` | |||||
} | |||||
type GetUserInfoResponseData struct { | |||||
*requests.RpcRequest | |||||
User User `json:"user"` | |||||
} | |||||
type GetUserInfoResponse struct { | |||||
*responses.BaseResponse | |||||
Data GetUserInfoResponseData `json:"data"` | |||||
} | |||||
func CreateGetUserInfoRequest() (req *GetUserInfoRequest) { | |||||
req = &GetUserInfoRequest{RpcRequest: &requests.RpcRequest{}} | |||||
req.InitWithApiInfo(HOST, VERSION, "/api/userSess/getUserInfo") | |||||
req.Method = requests.POST | |||||
return | |||||
} | |||||
func CreateGetUserInfoResponse() (response *GetUserInfoResponse) { | |||||
response = &GetUserInfoResponse{ | |||||
BaseResponse: &responses.BaseResponse{}, | |||||
} | |||||
return | |||||
} |
@@ -0,0 +1,38 @@ | |||||
package sso | |||||
import ( | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" | |||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" | |||||
) | |||||
type RefreshTokenRequest struct { | |||||
*requests.RpcRequest | |||||
OauthCode string `position:"Body" field:"oauthCode" default:"" ` | |||||
Ident string `position:"Body" field:"ident" default:"" ` | |||||
} | |||||
type RefreshTokenResponseData struct { | |||||
*requests.RpcRequest | |||||
Token string `json:"token"` | |||||
TokenExpires int64 `json:"tokenExpires"` | |||||
User User `json:"user"` | |||||
} | |||||
type RefreshTokenResponse struct { | |||||
*responses.BaseResponse | |||||
Data GetUserInfoResponseData `json:"data"` | |||||
} | |||||
func CreateRefreshTokenRequest() (req *RefreshTokenRequest) { | |||||
req = &RefreshTokenRequest{RpcRequest: &requests.RpcRequest{}} | |||||
req.InitWithApiInfo(HOST, VERSION, "/api/userSess/refreshToken") | |||||
req.Method = requests.POST | |||||
return | |||||
} | |||||
func CreateRefreshTokenResponse() (response *RefreshTokenResponse) { | |||||
response = &RefreshTokenResponse{ | |||||
BaseResponse: &responses.BaseResponse{}, | |||||
} | |||||
return | |||||
} |
@@ -0,0 +1,27 @@ | |||||
package sso | |||||
type User struct { | |||||
Uid string `json:"uid"` | |||||
UidNumber string `json:"uidNumber"` | |||||
Name string `json:"name"` | |||||
FirstName string `json:"firstname"` | |||||
LastName string `json:"lastname"` | |||||
RealName string `json:"realname"` | |||||
Mobile string `json:"mobile"` | |||||
Mail string `json:"mail"` | |||||
Department Department `json:"department"` | |||||
Roles []Role `json:"roles"` | |||||
Domains []string `json:"domains"` | |||||
} | |||||
type Department struct { | |||||
Gid string `json:"gid"` | |||||
Name string `json:"name"` | |||||
Abbr string `json:"abbr"` | |||||
} | |||||
type Role struct { | |||||
Name string `json:"name"` | |||||
Domains []string `json:"domains"` | |||||
Abbr string `json:"abbr"` | |||||
} |