Facebook 身份验证和奇怪的重定向行为

2023-11-21

我目前正在使用 facebook connect 测试 OAuth 实现http://facebooksdk.codeplex.com.

我有一个 FacebookController,有 2 个简单的操作,称为LogOn and CallBack.

一切正常,用户已正确登录到我的系统。

问题是当调用 CallBack 操作时,会发生一些奇怪的事情,这使得一个简单的

return Redirect(loggedUrl);

重定向到正确记录的 url,但以以下字符结尾:#_=_

Facebook 服务器似乎使用以下 HTTP 标头将信息发送到我的网络服务器:

HTTP/1.1 302 Found
Cache-Control: private, no-cache, no-store, must-revalidate
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Location: http://mywebsite.com/Facebook/CallBack/?state=1&code=AQCXexr10uxANSBOu9JqrBDxqPkWbsyxM1S9ltuY9XwCXW7eGsOII329SthClxOSM_a7wJvwrXh1_O3D5I7E_nxCDTWDLpyYdMpMUfw4zMWcQ4oV2PmRkIMd2NfPYRKlkLgkurEzka1CjAF1jp8Xb3crklOB59W4IT7LZy6MEmFusuhSKacmsTcV1LAOW4uJ3K4#_=_
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Pragma: no-cache
Set-Cookie: locale=en_US; expires=Fri, 28-Oct-2011 00:09:38 GMT; path=/; domain=.facebook.com
Content-Type: text/html; charset=utf-8
X-FB-Server: 10.43.103.61
X-Cnection: close
Date: Fri, 21 Oct 2011 00:09:38 GMT
Content-Length: 0

正如你所看到的,我们可以找到#_=_末尾的字符Location value.

就像重定向考虑到了#_=_通过将字符自动添加到loggedUrl 中来实现。

即使当我尝试使用return Redirect("/");, the #_=_从(几乎)无处添加到我的重定向网址...

任何想法都会非常感激。

预先感谢您的任何答复。

Regards,

LB


Facebook 最近修改了他们的身份验证机制,添加了 #=字符到其响应的结尾。字符串末尾的 # 符号实际上是造成问题的原因。因此,您可以截断查询并进行重定向,这样效果就很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook 身份验证和奇怪的重定向行为 的相关文章

随机推荐

  • MySQL 和嵌套集:慢 JOIN(不使用索引)

    我有两张桌子 地区 CREATE TABLE localities id int 11 NOT NULL AUTO INCREMENT name varchar 100 NOT NULL type varchar 30 NOT NULL p
  • Winform 启动画面 - VB.NET - 计时器

    我的应用程序和该表单上有一个启动屏幕 我有一个计时器 Private Sub Splash Load ByVal sender As Object ByVal e As System EventArgs Handles Me Load Sp
  • symfony2:在控制器操作内部设置表单外部的表单字段的值

    我需要设置 symfony2 表单元素的值 我使用一个doctrine2实体 一个Symfony Component Form AbstractType以及我的控制器操作中的 createForm 方法 saleDataForm this
  • iphone:如果浮点数为负数,则转换为无符号整数的浮点数将设置为 0?

    试试看 volatile float bob 344 0f unsigned int fred unsigned int bob printf d n fred 输出将为 0 显然 我希望它能够回绕 就像我从一个有符号的 int 转换为一个
  • 如何将 Sql Server 2008 DateTimeOffset 转换为 DateTime

    我希望转换一个有DATETIMEOFFSET场 下降到DATETIME字段但通过注意偏移量来重新计算时间 实际上 这将值转换为UTC eg CreatedOn 2008 12 19 17 30 09 0000000 11 00 将被转换为
  • 透明背景

    如何让背景50 透明 假设 AbsoluteLayout 的背景很暗 但您仍然可以看到它 您可以将透明主题应用于所需的活动 在 res values style xml 中创建新样式
  • Rails 5.1 中还需要 `require jquery_ujs` 吗?

    我正在我的中安装 jQuery5 1 xRails 应用程序通过jquery rails gem 在 gem 设置中 他们建议将这些行添加到application js默认情况下 require jquery require jquery
  • 使用 nginx 在同一域上提供 React 前端和 php 后端

    我有一个 React 前端和一个 Symfony 后端 我试图在同一个域上提供服务 React 前端需要提供资产 如果存在 否则需要提供回退服务index html 我想在以下情况下提供 php Symfony 应用程序 api位于请求 u
  • 了解 Spark shuffle 溢出

    如果我理解正确的话 当一个reduce任务开始收集它的输入shuffle块 来自不同map任务的输出 时 它首先将它们保存在内存中 Q1 当执行器的 shuffles 保留内存量 在内存管理更改之前 Q2 耗尽时 内存中的数据将 溢出 到磁
  • SQL:如果不存在如何更新或插入?

    我下面有一个 SQL 插入 工作正常 但是我希望它检查 DATE xxxx NAME xxxx 和 JOB xxx 是否存在 并更新 HOURS 如果存在 否则插入新行 这可以用 SQL 实现吗 INSERT INTO TABLE NAME
  • 从内部类对象获取外部类对象

    我有以下代码 我想获取创建内部类对象的外部类对象inner 我该怎么做 public class OuterClass public class InnerClass private String name Peakit public st
  • 简单的串行点对点通信协议

    我需要两个设备 PC 和微控制器 之间的简单通信协议 PC必须向微处理器发送一些命令和参数 微控制器必须传输字节数组 来自传感器的数据 数据必须是噪音保护 除了奇偶校验之外 我想我还需要一些其他的数据校正方法 有没有标准的解决方案可以做到这
  • python字典中循环(for循环)的顺序是什么[重复]

    这个问题在这里已经有答案了 我对以下内容得到的输出有点困惑 我不明白循环的执行顺序 domains de Germany sk Slovakia hu Hungary us United States no Norway for key i
  • 在 C++11 中保存随机数生成器状态

    我希望能够将随机数生成器的状态保存在 txt 文件中并将其读回 我听说在 c 11 中 可以使用 gt 运算符来完成此操作 但是 我不确定我到底该怎么做 我有一个随机数生成器 初始化如下 mt19937 myRandomGenerator
  • 允许特定标签覆盖溢出:隐藏

    我有一个 div 这是一定的height and width and overflow hidden以便剪裁特定的内部图像 不过我想要一张图片 div 弹出边界 即覆盖overflow hidden 我该怎么做呢 诀窍是保持overflow
  • 在创建时设置全屏

    我只能在 onCreate 方法中将 Activity 设置为全屏 在 setContentView 之前 有什么方法可以在 onCreate 之外设置为全屏吗 Thanks 有可能 添加此代码 go full screen WindowM
  • Android Service 多个实例

    我对 Android 服务类还是有点陌生 我知道您需要使用 startService intent 从应用程序启动服务 但是我的问题是我的服务内部有方法 我需要以意图启动服务 然后在我的活动中创建该类的对象 以便我可以调用服务的方法 问题是
  • Flutter 上用于位置设置的本机对话框

    有没有办法实现位置设置对话框 如下图所示 当应用程序需要 GPS 位置但找不到时会触发该对话框 打OK将立即打开系统 GPS 这对于用户来说似乎更方便 而不是把他们带到某个位置并手动打开 Flutter 中可以实现这样的功能吗 对话框的展开
  • JavaScript中获取对象的所有函数

    例如 Math mymfunc function x return x 1 将被视为财产 当我写时 for var p in Math proto console log p 它将被显示 但其余的数学函数不会 如何获取 Math 对象的所有
  • Facebook 身份验证和奇怪的重定向行为

    我目前正在使用 facebook connect 测试 OAuth 实现http facebooksdk codeplex com 我有一个 FacebookController 有 2 个简单的操作 称为LogOn and CallBac