annotate auth/auth.go @ 12:aaf85ae1f942

add very simple html template
author Dennis C. M. <dennis@denniscm.com>
date Thu, 20 Mar 2025 11:12:21 +0000
parents e9df3bb010f4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
1 package auth
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 import (
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 "encoding/json"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 "log"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 "net/http"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7 "net/url"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 )
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 func GetAuthUrl() string {
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
11 config := ReadConfig()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13 baseUrl := &url.URL{
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14 Scheme: "https",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 Host: "id.twitch.tv",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 Path: "/oauth2/authorize",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 params := url.Values{}
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 params.Add("client_id", config.ClientId)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 params.Add("force_verify", "true")
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
22 params.Add("redirect_uri", "http://localhost:8080/api/auth/twitch")
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 params.Add("response_type", "code")
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 params.Add("scope", "channel:bot user:read:chat")
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 params.Add("state", "c3ab8aa609ea11e793ae92361f002671")
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 baseUrl.RawQuery = params.Encode()
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 return baseUrl.String()
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
32 func GetAuthToken(authCode string) Auth {
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
33 config := ReadConfig()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 baseUrl := &url.URL{
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 Scheme: "https",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 Host: "id.twitch.tv",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 Path: "/oauth2/token",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
41 formData := url.Values{}
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
42 formData.Add("client_id", config.ClientId)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
43 formData.Add("client_secret", config.ClientSecret)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
44 formData.Add("code", authCode)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
45 formData.Add("grant_type", "authorization_code")
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
46 formData.Add("redirect_uri", "http://localhost:8080/api/auth/twitch")
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
47
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
48 res, err := http.PostForm(baseUrl.String(), formData)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
49
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
50 if err != nil {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
51 log.Fatal(err)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
52 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
53
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
54 defer res.Body.Close()
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
55
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
56 if res.StatusCode != 200 {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
57 log.Fatal("GetAuthToken")
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
58 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
59
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
60 var authRes Auth
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
61
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
62 err = json.NewDecoder(res.Body).Decode(&authRes)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
63
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
64 if err != nil {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
65 log.Fatal(err)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
66 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
67
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
68 return authRes
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
69 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
70
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
71 func IsAuthTokenValid(authToken string) bool {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
72 baseUrl := &url.URL{
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
73 Scheme: "https",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
74 Host: "id.twitch.tv",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
75 Path: "oauth2/validate",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
76 }
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
77
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
78 req, err := http.NewRequest("GET", baseUrl.String(), nil)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
79
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
80 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
81 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
82 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
83
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
84 req.Header.Set("Authorization", "OAuth "+authToken)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
85
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
86 client := &http.Client{}
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
87 resp, err := client.Do(req)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
88
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
89 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
90 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
91 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
92
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
93 defer resp.Body.Close()
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
94
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
95 return resp.StatusCode == 200
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
96 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
97
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
98 func RevokeAuthToken(authToken string) {
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
99 config := ReadConfig()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
100
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
101 baseUrl := &url.URL{
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
102 Scheme: "https",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
103 Host: "id.twitch.tv",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
104 Path: "oauth2/revoke",
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
105 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
106
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
107 data := url.Values{}
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
108 data.Add("client_id", config.ClientId)
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
109 data.Add("token", authToken)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
110
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
111 res, err := http.PostForm(baseUrl.String(), data)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
112
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
113 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
114 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
115 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
116
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
117 defer res.Body.Close()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
118 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
119
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
120 func RefreshAuthToken(authToken, refreshToken string) Auth {
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
121 config := ReadConfig()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
122
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
123 baseUrl := &url.URL{
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
124 Scheme: "https",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
125 Host: "id.twitch.tv",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
126 Path: "oauth2/token",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
127 }
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
128
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
129 data := url.Values{}
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
130 data.Add("grant_type", "refresh_token")
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
131 data.Add("refresh_token", refreshToken)
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
132 data.Add("client_id", config.ClientId)
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
133 data.Add("client_secret", config.ClientSecret)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
134
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
135 res, err := http.PostForm(baseUrl.String(), data)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
136
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
137 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
138 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
139 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
140
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
141 defer res.Body.Close()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
142
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
143 var authRes Auth
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
144
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
145 err = json.NewDecoder(res.Body).Decode(&authRes)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
146
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
147 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
148 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
149 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
150
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
151 return authRes
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
152 }
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
153
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
154 func GetUser(userName, authToken string) User {
8
e9df3bb010f4 fix issues
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
155 config := ReadConfig()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
156
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
157 baseUrl := &url.URL{
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
158 Scheme: "https",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
159 Host: "api.twitch.tv",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
160 Path: "helix/users",
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
161 }
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
162
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
163 params := url.Values{}
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
164 params.Add("login", userName)
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
165
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
166 req, err := http.NewRequest("GET", baseUrl.String(), nil)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
167
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
168 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
169 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
170 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
171
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
172 req.Header.Set("Client-ID", config.ClientId)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
173 req.Header.Set("Authorization", "Bearer "+authToken)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
174
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
175 client := &http.Client{}
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
176 res, err := client.Do(req)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
177
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
178 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
179 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
180 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
181
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
182 defer res.Body.Close()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
183
12
aaf85ae1f942 add very simple html template
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
184 var userRes User
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
185
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
186 err = json.NewDecoder(res.Body).Decode(&userRes)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
187
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
188 if err != nil {
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
189 log.Fatal(err)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
190 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
191
7
a8aab75f68c9 cmd/auth.go: refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
192 return userRes
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
193 }