- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
下面的代码在本地服务器上完美运行,但是当适应谷歌应用引擎时(func main 更改为 init 并且包名称从 main 设置为测试应用程序)oauth2callback 请求不再工作,下面的请求被重定向到 oauth2error 处理程序.
http://testapp.com/oauth2callback?code=OAUTHRESPONSEFROMFACEBOOK&state=%2F
package testapp
import (
"github.com/go-martini/martini"
goauth2 "github.com/golang/oauth2"
"github.com/martini-contrib/oauth2"
"github.com/martini-contrib/sessions"
"net/http"
)
func init() {
m := martini.Classic()
m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
m.Use(oauth2.Facebook(
goauth2.Client("AppID", "AppSecret"),
goauth2.RedirectURL("http://testapp.com/oauth2callback"),
goauth2.Scope("email,user_birthday,user_friends,publish_actions,user_location,user_photos"),
))
// Tokens are injected to the handlers
m.Get("/", func(tokens oauth2.Tokens) string {
if tokens.Expired() {
return "not logged in, or the access token is expired"
}
return "logged in"
})
// Routes that require a logged in user
// can be protected with oauth2.LoginRequired handler.
// If the user is not authenticated, they will be
// redirected to the login path.
m.Get("/restrict", oauth2.LoginRequired, func(tokens oauth2.Tokens) string {
return tokens.Access()
})
http.Handle("/", m)
}
最佳答案
我的猜测是您需要将 App Engine 上下文注入(inject)到 Get 方法中。
根据 this issue在 Go Martini 仓库中,您可以执行以下操作:
func AppEngine(m martini.Context, r *http.Request) {
m.MapTo(appengine.NewContext(r), (*appengine.Context)(nil))
}
func init() {
m := martini.Classic()
m.Use(AppEngine)
// ...
m.Get("/", func(tokens oauth2.Tokens, c appengine.Context) string {
if tokens.Expired() {
return "not logged in, or the access token is expired"
}
return "logged in"
})
m.Get("/restrict", oauth2.LoginRequired, func(tokens oauth2.Tokens, c appengine.Context) string {
return tokens.Access()
})
}
关于google-app-engine - Martini oauth2callback适配GAE后重定向到oauth2error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27459345/
ios10 适配-xcode8 问题解决: ios开发者,系统版本的更新,必定要跟着更新,不然有些功能不知道,开发的时候对可以体验,大打折扣了。 前段时间升级了xcode8,整体来说对oc的影响不
问题 TableView 的 setTableMenuButtonVisible 提供了一种机制来更改表列的可见性。然而,该功能还有很多不足之处: 菜单应保持打开状态。我有 e。 G。 15个表格列,
我正在开发一个使用 MapKit 的应用程序。鉴于 2012 年 6 月 11 日的 Apple 公告,我是否必须使用新的 API 完全重写它才能跟上这些变化? 最佳答案 iOS 6 仍处于 NDA
最近看了许多iphone x适配的文章,发现很少有介绍safearea的,就来随便写写 现在对于iphone x的适配,有一种常见的做法是给导航栏或tabbar增加一个固定的距离,比如顶部增加44
我正在使用 Big Nerd Ranch's recyclerview-multiselect库为我的 RecyclerView 的 CardViews 提供多选功能。我已经解决了大部分应用程序特定的
The Table with bad text-alignment 在图片中,您会看到文本对齐不正确的表格。 tbody 的元素不适合 thead 的元素。表头固定很重要,这样即使向下滚动也能看到。
我将尝试设置我的应用程序,以便它可以使用 Apple map 或 Google map ,所以我想我会有这样的东西: class AppleMap: MKMapView, MyMapProtocol
我已经在网站上工作了大约一个星期,我们需要包含一些非常规字体。没问题,我会在 CSS 中使用 @font-face{},它就像一个魅力。 . .除非你的名字是 Internet Explorer。 由
我遇到了一个问题,csv 文件中的字符显示为带有 ?在中间。 我已经编写了解析 csv 的代码,但我不明白为什么字符串不能正确读取 unicode 字符。这可能与我的实现有关: StreamReade
试图在底部模仿当前的谷歌地图栏。我失败了那么多,也尝试了那么多; CollapsingToolbar、BottomSheet、自定义库。 我想要的:当 BottomSheet 滑动时,让 map Vi
我有 5000 行 CSS 用于 Firefox、Opera,有时还有 IE 8。毕竟,account 告诉我,它必须在 IE 7 下正常工作。我该怎么做,而不重写 40% 的代码? 最佳答案 在
我使用 Glide 和 CircleTransform 将圆形图像放入此 ImageView。 ImageView 具有 wrap_content 属性,但是 ImageView 不适合 Circle
为什么 Apache Hive 需要 Apache Thrift?在 Thrift 的网站上,它说它可以用多种语言编译,但我不明白它适合哪里以及为什么 Hive 需要它。谢谢 最佳答案 引用 from
我使用此命令在 m4v 中转换了一些 YUV 视频,请注意我使用的是 CIF 格式的视频: ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 30 -
我已从教程中获取代码并尝试对其进行修改以包括双向性和 GRU 的任意数量的层。 链接到使用单向、单层 GRU 的教程: https://pytorch.org/tutorials/intermedia
在使用 C++ 11 进行测试期间,我使用了以下结构: std::for_each( coll.begin(), coll.end(), [ &obj, expRes ]( const val
假设我有一个带有 std::pair 的 STL 容器。有什么方法可以使用 boost 为 STL 算法 lambda 调整对的秒数? std::vector> vec; const auto Pre
我有一个自定义的 ListView 适配器,它实现了一个 ImageThreadLoader 类。不幸的是,该类没有启用缓存选项 - 从 Web 下载图像并将它们保存为缓存。 然后我找到了这个 Laz
我有一个关于在 CSS 中使用 PHP 的一般性问题。我现在正在研究 Wordpress 主题,并希望尽可能地定制它。因此,我将我想通过 PHP 更改的 CSS 属性发送到一个为我更改它们的 JS 文
我安装了包 react-treebeard https://react.rocks/example/react-treebeard 允许我为我的 React TS 网站提供一个开箱即用的树控件,它允许
我是一名优秀的程序员,十分优秀!