/
client_auth.go
129 lines (109 loc) · 4.29 KB
/
client_auth.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package cdsclient
import (
"context"
"github.com/ovh/cds/sdk"
)
func (c *client) AuthDriverList() (sdk.AuthDriverResponse, error) {
var response sdk.AuthDriverResponse
if _, err := c.GetJSON(context.Background(), "/auth/driver", &response); err != nil {
return response, err
}
return response, nil
}
func (c *client) AuthConsumerHatcherySigninV2(request interface{}) (sdk.AuthConsumerHatcherySigninResponse, error) {
var res sdk.AuthConsumerHatcherySigninResponse
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/v2/auth/consumer/hatchery/signin", request, &res)
return res, err
}
func (c *client) AuthConsumerSignin(consumerType sdk.AuthConsumerType, request interface{}) (sdk.AuthConsumerSigninResponse, error) {
var res sdk.AuthConsumerSigninResponse
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/auth/consumer/"+string(consumerType)+"/signin", request, &res)
return res, err
}
func (c *client) AuthConsumerSignout() error {
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/auth/consumer/signout", nil, nil)
return err
}
func (c *client) AuthConsumerLocalSignup(request sdk.AuthConsumerSigninRequest) error {
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/auth/consumer/local/signup", request, nil)
if err != nil {
return err
}
return nil
}
func (c *client) AuthConsumerLocalSignupVerify(token, initToken string) (sdk.AuthConsumerSigninResponse, error) {
var res sdk.AuthConsumerSigninResponse
req := sdk.AuthConsumerSigninRequest{
"token": token,
}
if initToken != "" {
req["init_token"] = initToken
}
_, err := c.PostJSON(context.Background(), "/auth/consumer/local/verify", req, &res)
if err != nil {
return res, err
}
return res, nil
}
func (c *client) AuthConsumerListByUser(username string) (sdk.AuthUserConsumers, error) {
var consumers sdk.AuthUserConsumers
if _, err := c.GetJSON(context.Background(), "/user/"+username+"/auth/consumer", &consumers); err != nil {
return nil, err
}
return consumers, nil
}
func (c *client) AuthConsumerDelete(username, id string) error {
_, err := c.DeleteJSON(context.Background(), "/user/"+username+"/auth/consumer/"+id, nil)
return err
}
func (c *client) AuthConsumerRegen(username, id string, newDuration int64, overlapDuration string) (sdk.AuthConsumerCreateResponse, error) {
var consumer sdk.AuthConsumerCreateResponse
request := sdk.AuthConsumerRegenRequest{
NewDuration: newDuration,
OverlapDuration: overlapDuration,
}
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/user/"+username+"/auth/consumer/"+id+"/regen", request, &consumer)
return consumer, err
}
func (c *client) AuthConsumerCreateForUser(username string, request sdk.AuthUserConsumer) (sdk.AuthConsumerCreateResponse, error) {
var consumer sdk.AuthConsumerCreateResponse
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/user/"+username+"/auth/consumer", request, &consumer)
return consumer, err
}
func (c *client) AuthSessionListByUser(username string) (sdk.AuthSessions, error) {
var sessions sdk.AuthSessions
if _, err := c.GetJSON(context.Background(), "/user/"+username+"/auth/session", &sessions); err != nil {
return nil, err
}
return sessions, nil
}
func (c *client) AuthSessionDelete(username, id string) error {
_, err := c.DeleteJSON(context.Background(), "/user/"+username+"/auth/session/"+id, nil)
return err
}
func (c *client) AuthMe() (sdk.AuthCurrentConsumerResponse, error) {
var r sdk.AuthCurrentConsumerResponse
_, err := c.GetJSON(context.Background(), "/auth/me", &r)
return r, err
}
func (c *client) AuthSessionGet(id string) (sdk.AuthCurrentConsumerResponse, error) {
var r sdk.AuthCurrentConsumerResponse
_, err := c.GetJSON(context.Background(), "/auth/session/"+id, &r)
return r, err
}
func (c *client) AuthConsumerLocalAskResetPassword(r sdk.AuthConsumerSigninRequest) error {
_, err := c.PostJSON(context.Background(), "/auth/consumer/local/askReset", r, nil)
return err
}
func (c *client) AuthConsumerLocalResetPassword(token, newPassword string) (sdk.AuthConsumerSigninResponse, error) {
var res sdk.AuthConsumerSigninResponse
_, _, _, err := c.RequestJSON(context.Background(), "POST", "/auth/consumer/local/reset",
sdk.AuthConsumerSigninRequest{
"token": token,
"password": newPassword,
}, &res)
if err != nil {
return res, err
}
return res, nil
}