我已经花了两天的时间在这件事上,显然我错过了一些东西。我在后端/服务器开发方面有点傻,希望有人能为我指明正确的方向。
问题
谢谢!
package main
import (
"code.google.com/p/goauth2/oauth"
"fmt"
"github.com/codegangsta/martini"
"io"
"net/http"
)
var config = &oauth.Config{
ClientId: CLIENT_ID,
ClientSecret: CLIENT_SECRET,
Scope: "identify",
AuthURL: "https://ssl.reddit.com/api/v1/authorize",
TokenURL: "https://ssl.reddit.com/api/v1/access_token",
RedirectURL: "http://localhost:3000/reddit_oauth",
}
func main() {
m := martini.Classic()
m.Get("/reddit_oauth", handleCallback)
m.Run()
}
func handleCallback(w http.ResponseWriter, r *http.Request) {
//Get the code from the response
code := r.FormValue("code")
// Exchange the received code for a token
t := &oauth.Transport{Config: config}
t.Exchange(code)
// Am I done?
}参照点
Misc
发布于 2013-11-25 22:25:48
好的,答案主要放在我的客户端应用程序中--再说一次,而不是去--它的OAuth2请求中有一些遗漏的方面。(对于不同的请求,还需要付出一点努力才能使标头正确。)
我发现的关于Reddit的OAuth2过程的最好信息是:请求/
来自Reddit的回复仍然让我请求ClientID和ClientSecret,我确信可以通过一个合适的ResponseWriter来提供这些服务,尽管目前我只是将其复制/粘贴到一个弹出窗口中,这样我就可以专注于其他事情了!
等我把那个平方去掉后,我会再加上这个答案。
如果任何人对更多的信息感兴趣,请毫不犹豫地询问。
再次感谢TomWilde和Elithrar!
发布于 2014-03-18 16:32:30
查看一个OAuth2实现。的马提尼控制页面
https://stackoverflow.com/questions/20179497
复制相似问题