根据Facebook signed_request,我想创建一个安全 cookie 并使用只有我知道的 Facebook 应用程序的秘密对其进行签名。
我已经实现了一个Ruby 方法来解码 Facebook 发送的 signed_request。
那行得通,但是现在,就像runwithfriends一样,我想向客户端发送回一个使用相同签名过程的 cookie。
我正在查看机架源代码,看起来它提供了这个功能。
但是,我想知道如何在 Sinatra 中执行此操作。它看起来像是set_cookie
一个包装器set_cookie_headers
,它似乎不接受秘密。所以,我想我必须用 Rack 来做。我会尝试并报告。
同时,Sinatra Book说它提供基于会话的 cookie。
那么,设置cookie有什么区别:
set_cookie("u", 123)
或设置会话变量:
session["u"] = 123
我发现自己在挖掘 Sinatra & Rack 源代码。我有个主意。我认为除了某些默认功能外,它们几乎相同。