gpt4 book ai didi

facebook - 如何让 martini-oauth2 与 Facebook 一起工作?

转载 作者:数据小太阳 更新时间:2023-10-29 03:29:08 26 4
gpt4 key购买 nike

我针对 facebook 尝试了以下代码示例,但它一直将我重定向到 oauth2error。我完全按照示例中的说明进行操作,但它似乎不起作用。我是 golag 的新手,但尽管我尽了最大的努力,但我似乎无法让事情正常进行。

package main

import (
"log"
"net/http"

"github.com/go-martini/martini"
gooauth2 "github.com/golang/oauth2"
"github.com/martini-contrib/oauth2"
"github.com/martini-contrib/sessions"
)

func main() {
m := martini.Classic()
m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
m.Use(oauth2.Facebook(&gooauth2.Options{
ClientID: "XXXX",
ClientSecret: "XXXX",
RedirectURL: "http://localhost.foobar.com:8080/",
Scopes: []string{"public_profile"},
}))
m.Get("/", func(tokens oauth2.Tokens) string {
if tokens.IsExpired() {
return "not logged in, or the access token is expired"
}
return "logged in"
})
m.Get("/restrict", oauth2.LoginRequired, func(tokens oauth2.Tokens) string {
return tokens.Access()
})
m.Get("/success", oauth2.LoginRequired, func(tokens oauth2.Tokens) string {
return tokens.Access()
})

log.Fatal(http.ListenAndServe(":8080", m))
}

谁能指出我在这里做错了什么?

最佳答案

您的回调 url 似乎设置不正确。请参阅我对 github 的类似配置:

m.Use(oauth2.Github(&golang_oauth2.Options{
ClientID: "0.0",
ClientSecret: "o.o",
RedirectURL: "http://localhost:3000/oauth2callback",
Scopes: []string{"user:email", "read:org"},
}))

尝试将您的重定向 URL 设置为:

RedirectURL:  "http://localhost.foobar.com:8080/oauth2callback"

关于facebook - 如何让 martini-oauth2 与 Facebook 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com