#Task This command prints the login URL for the API according to your `API_URL` environment variable and waits for you to input the token returned by the API after authenticating with Google. See [Develop Authentication Routes](../../Python%20API/Tasks/Routes/Develop%20Authentication%20Routes.md) for the API implementation: ```go var authCmd = &cobra.Command{ Use: "auth", Short: "Login with your Google account to create a user/token", Long: ``, Run: func(cmd *cobra.Command, args []string) { aesPath := filepath.Join(config.ConfigPath, "aes.key") configJsonPath := filepath.Join(config.ConfigPath, "config.json") fileContents, err := os.ReadFile(aesPath) if err != nil { fmt.Println("Error: ", err) } fmt.Printf("Visit \n %slogin\n to login then paste your token here:", "https://"+os.Getenv("API_URL")) var token string fmt.Scan(&token) config.SaveEncryptedConfig(config.Config{AuthToken: token}, fileContents, configJsonPath) loaded_config, err := config.LoadEncryptedConfig(fileContents, configJsonPath) if err != nil { fmt.Println("Error: ", err) } fmt.Println(loaded_config.AuthToken) }, } ``` - Once it reads the token, it calls the `SaveEncryptedConfig()` function in [Config Generation and Token Handling](Config%20Generation%20and%20Token%20Handling.md) and prints it back to you. From there, you can use all the commands without ever having to deal with the token!