Browse Source

添加sso请求接口

tags/v1.1.4
liaokaishan 3 years ago
parent
commit
cec7339431
5 changed files with 177 additions and 0 deletions
  1. +36
    -0
      services/sso/client.go
  2. +40
    -0
      services/sso/code_auth.go
  3. +36
    -0
      services/sso/get_user.go
  4. +38
    -0
      services/sso/refresh_token.go
  5. +27
    -0
      services/sso/struct.go

+ 36
- 0
services/sso/client.go View File

@@ -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
}

+ 40
- 0
services/sso/code_auth.go View File

@@ -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
}

+ 36
- 0
services/sso/get_user.go View File

@@ -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
}

+ 38
- 0
services/sso/refresh_token.go View File

@@ -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
}

+ 27
- 0
services/sso/struct.go View File

@@ -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"`
}

Loading…
Cancel
Save