Compare commits

...

4 Commits

Author SHA1 Message Date
Martyn f7b047f8e3 more oath
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2020-06-30 20:38:07 +02:00
Martyn 7735ca7a27 more oath
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2020-06-30 20:29:19 +02:00
Martyn 0afe049bd7 Oauth is painful
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2020-06-30 19:55:06 +02:00
Martyn 6f1f4d0750 moar debug
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2020-06-30 19:41:12 +02:00
1 changed files with 28 additions and 8 deletions

View File

@ -189,6 +189,7 @@ func twitchHTTPClient(call string, bearer string) (string, error) {
var bearerHeader = "Bearer " + bearer
req, err := http.NewRequest("GET", url, nil)
req.Header.Add("Client-ID", ircBot.AppCredentials.ClientID)
req.Header.Add("Authorization", bearerHeader)
client := &http.Client{}
@ -207,14 +208,23 @@ func TwitchAdminHandler(response http.ResponseWriter, request *http.Request) {
vars := mux.Vars(request)
if vars["code"] != "" {
response.Header().Add("Content-type", "text/plain")
resp, err := http.PostForm(
"https://id.twitch.tv/oauth2/token",
url.Values{
"client_id": {ircBot.AppCredentials.ClientID},
"client_secret": {ircBot.AppCredentials.Password},
"code": {vars["code"]},
"grant_type": {"authorization_code"},
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}})
form := url.Values{
"client_id": {ircBot.AppCredentials.ClientID},
"client_secret": {ircBot.AppCredentials.Password},
"code": {vars["code"]},
"grant_type": {"authorization_code"},
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}}
req, err := http.NewRequest("POST", "https://id.twitch.tv/oauth2/token", strings.NewReader(form.Encode()))
if err != nil {
response.WriteHeader(500)
response.Header().Add("Content-type", "text/plain")
fmt.Fprint(response, "ERROR: "+err.Error())
return
}
req.Header.Add("Client-ID", ircBot.AppCredentials.ClientID)
req.Header.Add("Authorization", "Bearer "+ircBot.AppCredentials.Password)
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
response.WriteHeader(500)
response.Header().Add("Content-type", "text/plain")
@ -262,6 +272,16 @@ func TwitchAdminHandler(response http.ResponseWriter, request *http.Request) {
response.Header().Add("Content-type", "text/plain")
fmt.Fprint(response, "ERROR: Twitch returned not 1 user for the request!\n---\n")
fmt.Fprint(response, usersObject.Data)
fmt.Fprint(response, "\n---\n")
fmt.Fprint(response, body)
fmt.Fprint(response, "\n---\n")
fmt.Fprint(response, usersResponse)
fmt.Fprint(response, "\n---\n")
fmt.Fprint(response, usersObject)
fmt.Fprint(response, "\n---\n")
fmt.Fprint(response, "curl -H 'Authorization: Bearer "+oauthResponse.Access_token+
"' -H 'Client-ID: "+ircBot.AppCredentials.ClientID+
" -X GET https://api.twitch.tv/users")
return
}