小编jch*_*ook的帖子

从Facebook Graph API /用户获取"真实"个人资料网址

API文档中所述/user,该link字段包含用户的配置文件URL.但是,此网址通常会重定向到其他网址(即显示在Google搜索结果中的网址).

有没有办法通过Facebook API确定给定配置文件的最终重定向位置("真实"URL)?

例如,给定:

"link":"https://www.facebook.com/1091552020"

我想https://www.facebook.com/sbhutiani从API中检索

api rest facebook oauth

15
推荐指数
2
解决办法
2万
查看次数

会话cookie在document.cookie中不可用

我可以看到Cookie正在通过Chrome网络检查员传输:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:rack.session=BAh7B8kiD3Nlc3Npb25faWQGOgZFRiJFMmYwOTZmZGY1NDEzNGVhYWJhYjcz%0ANmUzYmE5NzYyZmRmM2EyYjk4YWNlNzYzNjdkOGI5MDFiNTU3MDg0NWUzY0ki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItMjVhMmFj%0AZDI5zWU2NTJkY2QyMzA4MzI3NmYxNTk2YjU2ZjBkNmUwNkkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZWQyYjNjYTkwYTRlNzIzNDAyMzY3YTFkMTdj%0AOGIyODM5Mjg0MjM5OEkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItY2M5%0AZjZmZWM2NTJhNDI1OGJjNmQyOTI4NzA1MjE3OWFiMWUwZDE0Nw%3D%3D%0A--82a2216513ed8ce3bbcd0f2fe2162e7c40847499; test=whee
Host:0.0.0.0:4567
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
Run Code Online (Sandbox Code Playgroud)

但是,当我将document.cookie转储到控制台时,我看不到它!服务文件的全部内容:

<script type="text/javascript">
    console.log(document.cookie)
</script>
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?

javascript cookies session

7
推荐指数
1
解决办法
1656
查看次数

sinatra应用程序中的会话在浏览器之间共享

我正在使用Sinatra框架来创建一个非常简单的Web应用程序,需要登录会话.

我可以登录很好,但当我的朋友访问该网站时,他们以我的身份登录.我有一个朋友注册.当我重新访问该网站时,我以她的身份登录!我们在不同的设备上相距3000英里.

这是我的登录代码的要点..

require 'rubygems'
require 'sinatra'

# I have tried enabling/disabling the :session_secret
# set :session_secret, 'my_secret' 
enable :sessions

before '*' do
  begin
    User.login(User.find(session[:me])) if session[:me]
  end
end

post '/login' do
  user = User.find_by_email!(params[:email]).authenticate!(params[:password])
  session[:me] = user.id
  User.login user
  200
end
Run Code Online (Sandbox Code Playgroud)

我也尝试将其添加到我的rackup文件中

use Rack::Session::Cookie, 
    :key => 'my_app_key',
    :path => '/',
    :expire_after => 14400, # seconds
    :secret => 'secret_stuff'
Run Code Online (Sandbox Code Playgroud)

问题出在生产和开发环境上.

Sinatra文档不建议除http://www.sinatrarb.com/faq.html#sessions之外的任何配置enable :sessions

ruby session web-applications sinatra

2
推荐指数
1
解决办法
523
查看次数

标签 统计

session ×2

api ×1

cookies ×1

facebook ×1

javascript ×1

oauth ×1

rest ×1

ruby ×1

sinatra ×1

web-applications ×1