【问题标题】:Satellizer Twitter (oAuth 1.0a) popup does not closeSatellizer Twitter (oAuth 1.0a) 弹出窗口未关闭
【发布时间】:2017-03-08 05:41:39
【问题描述】:

我在 Satellizer 上玩得很开心,但有一种情况除外 - Twitter oAuth 1.0a 流程。成功验证用户身份后,弹出窗口不会关闭。

我的配置是;

    $authProvider.twitter({
        url: '<my server endpoint to get request token (POST)>',
        redirectUri: '<my server endpoint to perform oAuth login (GET)>'
    });

我已将我的 Twitter 应用程序的回调 URI 设置为与 redirectUri 相同(并且在从 Twitter 获取请求令牌时也会传递它)。

我看到的流程是这样的(基本上,我进入 oAuth 1.0 流程中的第 10 步,然后弹出窗口没有关闭):

  • 用户点击“使用 Twitter 登录”按钮
  • 出现弹出窗口并进行空 POST 调用 - 我的服务器返回请求令牌
  • 用户点击“授权申请”
  • 我的服务器收到了一个GET oAuth 登录请求(不是POST,因为文档说我应该这样做)
  • 我的服务器正确验证并返回 Bearer 令牌。

然后什么都没有 - 一切都停止了。我怀疑是因为我回复的是GET 而不是POST,但我不知道是什么导致了GET

任何帮助将不胜感激!

【问题讨论】:

  • 所以我已经取得了一些进展——我现在可以关闭弹出窗口了。问题(我认为)是我将重定向 URI 设置为有效的端点(然后将其作为GET 调用)。当您不这样做时(即:将redirectUri 设置为弹跳的东西,我会收到(第二次)对auth/provider 方法的POST 调用。我在第二次调用中没有得到任何参数,但我我想越来越近了。

标签: twitter oauth satellizer


【解决方案1】:

向大家道歉 - 这是我的错。根据我上面的评论,一旦我正确设置了redirectUri 并只使用了/auth/provider 方法,它就一切正常了。

很简单,在第二次调用时,参数(正确地)通过正文。一旦我意识到这一点,提取它们,进行身份验证,然后返回,这一切就像一个魅力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多