summaryrefslogtreecommitdiffstats
path: root/model/client.go
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2016-03-30 12:49:29 -0400
committerJoramWilander <jwawilander@gmail.com>2016-03-30 12:49:29 -0400
commitf9a3a4b3949dddecae413b97904c895b2cd887bf (patch)
treebb77628b0aba959feeab28a5a10fe0bc0e6b4ecc /model/client.go
parent2aa0d9b8fc2e31e51bbddc8d90fe801c089f7c4b (diff)
downloadchat-f9a3a4b3949dddecae413b97904c895b2cd887bf.tar.gz
chat-f9a3a4b3949dddecae413b97904c895b2cd887bf.tar.bz2
chat-f9a3a4b3949dddecae413b97904c895b2cd887bf.zip
Add MFA functionality
Diffstat (limited to 'model/client.go')
-rw-r--r--model/client.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go
index ee26ae64e..960fe634b 100644
--- a/model/client.go
+++ b/model/client.go
@@ -301,6 +301,42 @@ func (c *Client) Logout() (*Result, *AppError) {
}
}
+func (c *Client) CheckMfa(method, teamName, loginId string) (*Result, *AppError) {
+ m := make(map[string]string)
+ m["method"] = method
+ m["team_name"] = teamName
+ m["login_id"] = loginId
+
+ if r, err := c.DoApiPost("/users/mfa", MapToJson(m)); err != nil {
+ return nil, err
+ } else {
+ return &Result{r.Header.Get(HEADER_REQUEST_ID),
+ r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil
+ }
+}
+
+func (c *Client) GenerateMfaQrCode() (*Result, *AppError) {
+ if r, err := c.DoApiGet("/users/generate_mfa_qr", "", ""); err != nil {
+ return nil, err
+ } else {
+ return &Result{r.Header.Get(HEADER_REQUEST_ID),
+ r.Header.Get(HEADER_ETAG_SERVER), r.Body}, nil
+ }
+}
+
+func (c *Client) UpdateMfa(activate bool, token string) (*Result, *AppError) {
+ m := make(map[string]interface{})
+ m["activate"] = activate
+ m["token"] = token
+
+ if r, err := c.DoApiPost("/users/update_mfa", StringInterfaceToJson(m)); err != nil {
+ return nil, err
+ } else {
+ return &Result{r.Header.Get(HEADER_REQUEST_ID),
+ r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil
+ }
+}
+
func (c *Client) SetOAuthToken(token string) {
c.AuthToken = token
c.AuthType = HEADER_TOKEN