HybridAuth推特失败401

Ric*_*aro 4 twitter oauth hybridauth

问题 我能够连接到Twitter的HybridAuth库,它停止工作.发布到Twitter帐户也是有效的.

我做了什么 重置我的Twitter应用程序访问令牌.创建一个全新的Twitter应用程序.使用HybridAuth调试模式进行故障排除.

错误消息 "验证失败.用户已取消验证或提供商拒绝连接.

原始错误消息:身份验证失败!Twitter返回了一个错误.401未经授权."

我的研究 这似乎归因于缺乏关键和秘密,但我在Twitter配置文件中设置了这些.

代码

            $hybridauth = new Hybrid_Auth( $config );

            $adapter = $hybridauth->authenticate( "Twitter" );
            $hybridauth_session_data = $hybridauth->getSessionData();
            store_session_data($hybridauth_session_data);

            // get the user profile 
            $user_profile = $adapter->getUserProfile();
Run Code Online (Sandbox Code Playgroud)

authenticate方法抛出异常.之前它会要求我允许通过应用程序访问,现在它会抛出错误.

如果您需要更多信息,请告诉我.干草堆

Ric*_*aro 5

所以,这是发生了什么,你应该知道什么:

  1. Twitter记录当前时间
  2. 如果要进行身份验证的API请求来自声称时间超过Twitter时间15分钟的服务器,则会因401错误而失败.

我如何修复它:

我使用USNO主时钟将服务器时间设置为正确的时间.碰巧只有超过15分钟的偏差.