Satellizer Twitter(oAuth 1.0a)弹出窗口没有关闭

时间:2016-10-26 01:45:46

标签: twitter oauth satellizer

我和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,然后弹出窗口没有关闭):

  • 用户点击&#34;使用Twitter登录&#34;按钮
  • 出现弹出窗口并发出空POST调用 - 我的服务器返回请求令牌
  • 用户点击&#34;授权应用程序&#34;
  • 我的服务器收到oAuth登录的GET请求(不是POST,因为文档说我应该)
  • 我的服务器正确验证并返回Bearer令牌。

然后什么都没有 - 一切都停止了。我怀疑是因为我正在回复GET而不是POST,但我无法弄清楚导致GET的原因。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

向所有人道歉 - 这是我的错。根据我上面的评论,一旦我正确地设置了redirectUri并且只使用了/auth/provider方法,它就会起作用。

很简单,在第二次调用时,参数在正文中(正确地)通过。一旦我意识到,提取,认证,然后返回,它就像一个魅力。