Facebook OAuth 突然停止工作

2024-03-05

昨天我注意到我网站的 Facebook 登录已停止工作。

在过去的两个月里,这一直运行良好,据我所知,我没有改变任何东西。我已在链接上尝试了一切,例如: - 以及更多......

ASP.NET MVC5 OWIN Facebook 身份验证突然不起作用 https://stackoverflow.com/questions/22364442/asp-net-mvc5-owin-facebook-authentication-suddenly-not-working

我注意到 Stack Overflow Facebook 身份验证也已停止工作。

有其他人注意到这一点并找到解决方案吗?值得注意的是,我使用 azure 应用程序服务来托管。但是当我使用localhost时也发现这个问题。

我当前的设置看起来像这样......

在 Startup.Auth.cs 中

var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions()
{
    AppId = "xxxxxxxxxxxxx",
    AppSecret = "xxxxxxxxxxxx"
};
facebookOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookOptions);

在下面的方法中,loginInfo is null每次。

[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
    var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
    if (loginInfo == null)
    {
        return RedirectToAction("Login");
    }

我还从另一个帖子建议中添加了一个会话“WAKEUP”,fb auth 之前失败过一次,这次解决了问题,但它又回来了。

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult ExternalLogin(string provider, string returnUrl)
{
    Session["WAKEUP"] = "NOW!";

    // Request a redirect to the external login provider
    return new ChallengeResult(provider, Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl }));
}

正如 RockSheep 所解释的那样。 Facebook 放弃了对 API v2.2 的支持。您需要更新 OWIN nuget 软件包。

你可以找到github上的问题 https://github.com/aspnet/AspNetKatana/issues/38(来自 Katana 项目)。

确保激活预发布在你的 nuget 管理器中,你可以将 nuget 包更新到版本v3.1.0-rc1。但要注意:更新后,您需要仔细测试您的登录(也许您还有其他身份验证提供商,例如 Microsoft 或 Google,您也应该测试它们)。

技术的

Api 将版本号更改为 v2.8,API 的返回值现在采用 JSON 格式,并且不再在 URI 中转义。 “旧”OWIN 软件包无法处理此更改。

[Oauth Access Token] Format - 的响应格式https://www.facebook.com/v2.3/oauth/access_token https://www.facebook.com/v2.3/oauth/access_token当你回来时 交换 access_token 的代码现在返回有效的 JSON 而不是 被 URL 编码。此响应的新格式为 {"access_token": {TOKEN},“token_type”:{TYPE},“expires_in”:{TIME}}。我们做了这个 更新以符合 RFC 6749 第 5.1 节。

在这里您可以找到代码更改 https://github.com/aspnet/AspNetKatana/commit/b32efb31da8834a6877a354c7d49ef6190873f0a在 GitHub 上获取更多信息和更好的理解。

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

Facebook OAuth 突然停止工作 的相关文章

  • 如何使用 Graph API 设置 Facebook 相册隐私?

    我想知道是否可以使用 RestFB Java 库为特定 Facebook 相册设置隐私设置 非常感谢 Regards Anthony 您可以在创建相册时设置隐私设置 目前 您无法更新设置 也无法通过 API 删除现有相册 以防您只想删除并重
  • 奇怪的 Facebook ID [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有两个 Facebook 应用程序 它们都正在开发中 其中一个是很久以前创建的 而另一个则是相当新的 自从我升级到新的 iOS Faceb
  • 有谁知道 Heroku 是否仍在 Facebook 工作?

    我创建了一个 facebook 应用程序 现在没有 在 Heroku 中托管您的应用程序 我想检查 facebook 应用程序的默认 python 应用程序 所以我不确定现在我是否无法在heroku中创建更多应用程序 或者heroku不再与
  • 如何列出喜欢某个页面或感兴趣的 Facebook 用户 [重复]

    这个问题在这里已经有答案了 可能的重复 检索 Facebook 粉丝姓名 https stackoverflow com questions 2001281 retrieve facebook fan names 我想要获取喜欢某个页面或感
  • Facebook oauth/access_token 丢失

    不知道我是否错过了什么 但就这样 我正在尝试为我的应用程序获取 access token 以便它可以在 facebook 上查找某些公共群组的事件 而无需用户登录 我试图从中获取 access token 这将返回一个字符串 access
  • Facebook4j API:搜索

    我正在使用 Facebook4j 通过关键字获取状态 facebook4j conf ConfigurationBuilder fac new facebook4j conf ConfigurationBuilder fac setDebu
  • HTML:什么是 `xmlns:fb="http://www.facebook.com/2008/fbml"`?

    What is xmlns fb http www facebook com 2008 fbml 我在很多地方都看到过最近的标签 它有什么作用 While I haven t seen it in use this is standard
  • Facebook Scraper 和 Angular 应用程序与 HTML5Mode Hashbang url

    我在 Angular 应用程序中添加了 seo 支持 http staging lovented com http staging lovented com 我配置了 Html5Mode 包括 Hashbang url locationPr
  • 通过 firebase 登录获取更大的 Facebook 图片

    我正在使用 firebase 通过 facebook 登录用户 这一切都工作正常 我可以获取用户 FB 个人资料图像 尽管它太小了 有人可以告诉我如何获得更大的 我正在使用的代码 override func viewDidLoad let
  • Android 设备上的 Facebook 分享问题

    我使用了来自的样本AndroidFacebook示例 https github com ddewaele AndroidFacebookSample它在模拟器上运行良好 但在设备上它被转移到内置的 Facebook 意图 设备上不会出现身份
  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • Ajax.BeginForm 帮助程序未将部分视图加载到指定的 DIV 中

    我正在使用 MVC 尝试将表单提交的结果加载到特定的 DIV 中 下面是我的表单的代码 div class segmentForm clearfix div
  • 来自 python 的 FQL 多重查询因 unicode 查询而失败

    使用 python 2 6 5 和 facebook sdk 0 3 2 import facebook api facebook GraphAPI token api fql example u SELECT uid2 FROM frie
  • Facebook 登录无法在移动浏览器中使用

    我使用 react facebook login 在我的网站中实现了 facebook 登录module https github com keppelen react facebook login 我在 ComponentDidMount
  • Facebook Graph API 使用 json 和 C# 检索好友

    我正在使用 C 和 Graph API 进行工作 并且能够获取 Facebook 用户个人资料信息 例如 ID 姓名和电子邮件 然后反序列化 JSON 以便能够将值分配给标签 然而 我的问题是 当我去获取好友列表或任何与此相关的列表时 如何
  • 一小时后,身份将从不记名令牌中消失

    我正在使用带有 Web 应用程序和 Web API 的 Azure AD 开发多租户解决方案 Web 应用程序使用 OpenIdConnect 检索不记名令牌 缓存在 Azure Redis 缓存中 该令牌在 Angular 中用于从 We
  • 使用 Facebook API 在朋友的墙上发布帖子

    我希望我的 Facebook 应用程序能够获取使用该应用程序的用户的 ID 并在他们的一位朋友的墙上找到该 ID 发布的帖子 我更喜欢使用个人 ID 的示例 而不是迭代所有朋友 我认为两个用户很可能都必须向应用程序提供权限才能执行此操作 这
  • Facebook fb:评论图 API

    我想在我的网站上添加 Facebook 评论 我自己的网站评论 问题是 当显示帖子时 我想在每个帖子旁边显示评论计数 所以我的评论 Facebook 评论 我知道我可以做到这一点https graph facebook com commen
  • 如何使用 Facebook API 发布到我自己的页面

    我想使用 API 将更新发布到我拥有的 Facebook 页面 我按照中的说明进行操作这个答案 https stackoverflow com a 28418469 517371获得 a 短期访问令牌对于我的用户 确保授予publish s
  • 如何获得永不过期的 Facebook_Account_(即页面)访问令牌?

    由于一些不幸的术语选择 这个主题很难在 Google 上搜索到 所以在我问问题之前 先快速澄清一下 Facebook 帐户 即一个人的顶级个人帐户 可以有子帐户 公司 品牌 名人等 不幸的是 Facebook 称之为 帐户 与这些 帐户 交

随机推荐