示例#1
0
文件: cred.go 项目: akira093/cred
func makeCredential() error {
	url, cred, err := anaconda.AuthorizationURL("")
	if err != nil {
		log.Println("something wrong happen")
		return err
	}
	fmt.Println("please access this url:", url)
	var vel string
	fmt.Print("enter verifier: ")
	fmt.Scanln(&vel)
	cred, _, err = anaconda.GetCredentials(cred, vel)
	if err != nil {
		log.Println("authentification failed")
		return err
	}
	c := Credential{AccessToken: cred.Token, AccessSecret: cred.Secret}
	b, err := json.Marshal(c)
	f, err := os.Create(confPath)
	if err != nil {
		log.Println("can't make conf file")
		return err
	}
	defer f.Close()
	err = ioutil.WriteFile(confPath, b, 0600)
	if err != nil {
		return err
	}
	return nil
}
示例#2
0
文件: auth.go 项目: benfb/notable
// Authorize authorizes the user
func Authorize(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
	authURL, cred2, err := anaconda.AuthorizationURL("http://notable.333vinyl.us/callback")
	if err != nil {
		fmt.Println(err)
	}
	cred = cred2
	http.Redirect(w, r, authURL, 302)
}
示例#3
0
func getCred() {
	key, cred, _ := anaconda.AuthorizationURL("")
	fmt.Printf("access: %v\n", key)
	fmt.Printf("Key: ")
	buf := bufio.NewReader(os.Stdin)
	line, _, _ := buf.ReadLine()
	cred, _, _ = anaconda.GetCredentials(cred, string(line))
	fmt.Printf("cred: \n", cred)
}
示例#4
0
func RequestTokenHandler(w http.ResponseWriter, r *http.Request) {
	anaconda.SetConsumerKey(consumerKey)
	anaconda.SetConsumerSecret(consumerSecret)
	url, tmpCred, err := anaconda.AuthorizationURL("http://localhost:8000/access_token")
	if err != nil {
		fmt.Fprintf(w, "%v", err)
		return
	}
	credential = tmpCred
	http.Redirect(w, r, url, http.StatusFound)
}
示例#5
0
文件: auth.go 项目: choueric/gogobird
func GetAuthUrl() (string, error) {
	url, token, err := anaconda.AuthorizationURL("oob")
	if err != nil {
		return "", err
	}

	if token == nil {
		fmt.Printf("Get Authorization URL is nil\n")
		return "", err
	}

	requestToken = *token
	return url, nil
}
示例#6
0
func main() {
  ​anaconda.SetConsumerKey("j62kyFWBVqCiJElWSHvofSz59")
  anaconda.SetConsumerSecret("FmA9RF7MAEwLbvXfvYRgZMMstinToo6kbR7CcwfpdhWrsEPyrg")
  // webbrowser.Open()
	url, cred, _ := anaconda.AuthorizationURL("")
	webbrowser.Open(url)

	var pincode int64
	fmt.Scan(&pincode)

	newcred, _, _ := anaconda.GetCredentials(cred, strconv.FormatInt(pincode, 10))

	fmt.Printf("%v\n%v\n", newcred.Token, newcred.Secret)
}
示例#7
0
func twitterAuth() (*oauth.Credentials, error) {
	url, tempCred, _ := anaconda.AuthorizationURL("oob")

	fmt.Printf("Go to %s and enter code: ", url)
	var code string
	fmt.Scanln(&code)

	credentials, _, err := anaconda.GetCredentials(tempCred, code)

	if err != nil {
		return nil, err
	}

	return credentials, nil
}
示例#8
0
func (g *gweet) setupAccount() (err error) {
	fmt.Printf("Account name: ")

	var name string
	fmt.Scanln(&name)

	authUrl, tmpCred, err := anaconda.AuthorizationURL("oob")
	if err != nil {
		return
	}

	exec.Command("xdg-open", authUrl).Run()
	fmt.Printf(
		"1. Go to %s (should have opened automatically)\n"+
			"2. Authorize the application\n"+
			"3. Enter verification code: ", authUrl,
	)

	var pin string
	fmt.Scanln(&pin)

	cred, _, err := anaconda.GetCredentials(tmpCred, pin)
	if err != nil {
		return
	}

	g.Accounts[name] = *cred

	if len(g.DefaultAccount) == 0 {
		g.DefaultAccount = name
	}

	newJson, err := json.MarshalIndent(&g, "", "    ")
	if err != nil {
		return
	}

	cfgPath, err := configPath()
	if err != nil {
		return
	}

	err = ioutil.WriteFile(cfgPath, newJson, os.ModePerm)
	return
}
示例#9
0
func (app *GoApp) loginHandler(w http.ResponseWriter, r *http.Request) {

	// Twitter認可申請
	url, cred, err := anaconda.AuthorizationURL("")
	if err != nil {
		http.Error(w, "Couldn't connect to twitter.", http.StatusInternalServerError)
		fmt.Println(err)
		return
	}

	// 貰った情報をセッションにストアして
	session, err := app.store.Get(r, sessionName)
	marchaled, _ := json.Marshal(cred)
	session.Values["oauth_credentials"] = string(marchaled)
	session.Save(r, w)
	//fmt.Println(session.Values)

	// 指示されたURLへ
	http.Redirect(w, r, url, http.StatusFound)
}