当前位置: 首页 > 知识库问答 >
问题:

yii2 Facebook登录问题:验证客户端机密时出错

张子墨
2023-03-14

我试图通过脸书在我用Yii2框架建立的网站上激活登录,但登录总是失败,尽管facebook应用程序正在授权登录中使用的Facebook帐户。

响应总是这个错误:

请求失败,代码为:400,消息:验证客户端机密时出错。

我正在使用 yii2 的身份验证:

return [
  'class' => 'yii\authclient\Collection',
  'clients' => [
    'facebook' => [
      'class' => 'yii\authclient\clients\Facebook',
      'authUrl' => 'facebook.com/dialog/oauth',

      //Prod
      'clientId' => 'appidhere',
      'clientSecret' => 'appsecrethere',



      'scope' => 'email, user_friends, public_profile',

     .....

应用ID和应用秘密正确,fb应用设置也正确。

以下是请求的样子:

yii\httpclient\Request对象([_url: yii\httpclient\Request: Private]=

答案是:

yii\httpclient\响应对象([客户端]=

那么,你知道那里发生了什么吗?

注意:我从引号中的facebook链接中删除了http和https,因为stackoverflow不允许我发布超过2个链接。

共有1个答案

於德馨
2023-03-14

尝试使用 Yii2 电子授权。这是以最简单的方式在14个差异平台上提供社交登录的最佳扩展。

参考网址:https://github.com/Nodge/yii2-eauth

演示网址:http://nodge.ru/yii-eauth/demo2/login

 类似资料:
  • 我用Jhipster生成器生成了一个项目,并尝试使用android客户端连接到服务器。我的登录部分有问题,我不知道如何生成/获取登录所需的csrf令牌。我看到web客户端将此令牌作为请求的一部分发送。 当我试图从邮递员和Android访问路线我收到这个错误: 谢谢

  • 因此,为了实现这个逻辑,我认为我需要在客户端验证JWT令牌。Q1,这是一个明智的做法吗。 Q2,我正在使用的库似乎需要一个公钥才能使用它的函数。我似乎没有公钥,只有一个秘密,这是我刚刚编造的,所以它不是用一对生成的。我的公钥从何而来,或者是否有另一种方法来验证我的令牌而不使用此方法? 这一切似乎应该是显而易见的,我错过了一些东西,所以很抱歉,如果这是一个愚蠢的问题,但我似乎找不到答案?

  • 整个周末我都在为这个问题苦苦挣扎,现在我跪下来希望你们中的一个天才能解决我的问题。 I short:我有一个ingress nginx控制器(图:nginx/nginx ingress:1.5.8),我正试图与之实现自签名的相互身份验证。 https方面工作正常,但我(我认为)遇到的问题是,入口控制器使用默认证书重新路由请求,入口使用默认CA进行验证(因为它找不到我的CA)。 所以…救命! 我在这

  •  说明 调用方法: $.f2e.util.yy.isInstallYY(fn); 函数说明: UDB登陆 参数说明: 参数名 类型 说明 备注 fn function 回调函数 null为未登录YY客户端 无 脚本 <script> $.f2e.util.yy.isInstallYY(function(data){ if(data){ //有登录

  • 我需要在wildfly 10上运行一个自定义登录(我真的需要一个自定义实现)模块和客户端证书验证,但该模块本身从未执行。同样的方法也适用于jboss 6。 我的自定义模块: 网状物xml jboss网站。xml 在standalone.xml,包括ssl证书配置: 此外,我的自定义安全域是独立的。xml 甚至更改了默认的安全域 最后,https侦听器 一切似乎都可以,如上所示,但当我试图执行简单的