【发布时间】: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 调用 - 我的服务器返回请求令牌
- 用户点击“授权申请”
- 我的服务器收到了一个
GEToAuth 登录请求(不是POST,因为文档说我应该这样做) - 我的服务器正确验证并返回 Bearer 令牌。
然后什么都没有 - 一切都停止了。我怀疑是因为我回复的是GET 而不是POST,但我不知道是什么导致了GET。
任何帮助将不胜感激!
本
【问题讨论】:
-
所以我已经取得了一些进展——我现在可以关闭弹出窗口了。问题(我认为)是我将重定向 URI 设置为有效的端点(然后将其作为
GET调用)。当您不这样做时(即:将redirectUri设置为弹跳的东西,我会收到(第二次)对auth/provider方法的POST 调用。我在第二次调用中没有得到任何参数,但我我想越来越近了。
标签: twitter oauth satellizer