summary refs log tree commit diff
path: root/oauth.go
diff options
context:
space:
mode:
Diffstat (limited to 'oauth.go')
-rw-r--r--oauth.go22
1 files changed, 9 insertions, 13 deletions
diff --git a/oauth.go b/oauth.go
index f41dde3..e3f4174 100644
--- a/oauth.go
+++ b/oauth.go
@@ -12,46 +12,42 @@ func openBrowser(url string) error {
 }
 
 func startServer(codeChannel chan string) {
-	// Step 5: Start a web server that listens on localhost:3000
 	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
-		// Extract the code parameter from the query string
 		code := r.URL.Query().Get("code")
 		if code != "" {
-			// Send the authorization code to the channel
 			codeChannel <- code
 
-			// Respond to the browser
 			fmt.Fprintf(w, "Authorization successful! You can now close this window.")
 		} else {
-			// If there's no code, display an error
 			http.Error(w, "Authorization failed", http.StatusBadRequest)
 		}
 	})
 
-	// Start the server
 	err := http.ListenAndServe(":3000", nil)
 	if err != nil {
 		fmt.Printf("Error starting server: %v\n", err)
 	}
 }
 
-func GetOAuth(clientID string) (string, error) {
-	// Step 1: Construct the URL with the provided client_id
-	url := fmt.Sprintf("https://id.twitch.tv/oauth2/authorize?response_type=code&client_id=%s&redirect_uri=http://localhost:3000&scope=user%%3Aread%%3Afollows&state=xsscheckbasic101", clientID)
+func GetOAuth() (string, error) {
+	url := fmt.Sprintf("%s?%s&%s&%s&%s&%s",
+		"https://id.twitch.tv/oauth2/authorize",
+		"response_type=code",
+		fmt.Sprintf("client_id=%s", clientSecrets.ClientID),
+		"redirect_uri=http://localhost:3000",
+		"scope=user%3Aread%3Afollows",
+		"state=xsscheckbasic101",
+	)
 
-	// Step 2: Open the URL in the default web browser using xdg-open
 	err := openBrowser(url)
 	if err != nil {
 		return "", fmt.Errorf("failed to open browser: %v", err)
 	}
 
-	// Step 3: Start the HTTP server to capture the response
 	codeChannel := make(chan string)
 	go startServer(codeChannel)
 
-	// Step 4: Wait for the authorization code to be received
 	code := <-codeChannel
 
-	// Return the authorization code
 	return code, nil
 }