首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让martini-oauth2与Facebook协同工作?

如何让martini-oauth2与Facebook协同工作?
EN

Stack Overflow用户
提问于 2014-08-05 02:21:43
回答 1查看 321关注 0票数 0

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

代码语言:javascript
复制
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))
}

有谁能指出我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-10 10:25:14

看起来您的回调url设置不正确。请看我对github的类似配置:

代码语言:javascript
复制
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设置为:

代码语言:javascript
复制
RedirectURL:  "http://localhost.foobar.com:8080/oauth2callback"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25125106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档