gpt4 book ai didi

php - Facebook、Twitter 等。登录网站不获取电子邮件

转载 作者:搜寻专家 更新时间:2023-10-31 22:14:12 25 4
gpt4 key购买 nike

我已经设法让一个系统可以从 Facebook、twitter、google 等登录到我们的网站。它是 wordpress 社交登录插件的修改版本。

它从社交网络获取电子邮件地址并将它们添加到我们系统的用户帐户中。现在不是了。它正在添加一个有点像这个的电子邮件地址。a85b287d8d30ca2b1ee4cd2fb31f6f7a@example.com

如何让它再次获取正确的地址。

的确,我正在修改使电子邮件地址和用户名相同的设置,但是它用电子邮件字段覆盖了用户名,而不是相反。

编辑---

我已经撤消了我的修补,但它仍在这样做。我正在检查其他脚本干扰并删除所有与此无关的错误社交整合。到目前为止没有结果。

顺便说一句——

example.com 就是它所说的,它不是我或任何其他人域的代码。

此外——

我在其中一个文件夹中找到了这些行。显然它不能获取电子邮件,因为这是我们得到的。

// generate an email if none
if ( ! isset ( $user_email ) OR ! is_email( $user_email ) ){
$user_email = strtolower( $provider . "_user_" . $user_login ) . "@example.com";
}

// email should be unique
if ( email_exists ( $user_email ) ){
do
{
$user_email = md5(uniqid(wp_rand(10000,99000)))."@example.com";
} while( email_exists( $user_email ) );
}

显然这是在创建我们的虚拟电子邮件地址,那么问题是为什么它没有从社交网络中获取正确的地址。

有什么想法吗?

最佳答案

问题是由重复的信息引起的。该插件使用来自社交网站的用户名。因为这主要是它检索的数据的电子邮件地址。

在测试模式下,来自这些社交网络的被测试帐户使用已在该网站注册的电子邮件地址。因此它检测到它们已经存在并分配一个随机生成的程序编号,如果没有提供电子邮件地址,它应该这样做。这其实很聪明。很遗憾花了半天时间才算出来。

因此,如果电子邮件地址是唯一的,它就可以正常工作。

另一个用户在我们处于测试模式时注册了。这导致调查。令 Facebook 非常恼火的是,我们设置了 4 个帐户以使用唯一的电子邮件地址进行测试,并且都运行良好。

现在 Twitter 已经确认是正确的,我们知道其余的都很好。

解决方案....

确保用户帐户中没有重复的电子邮件地址。

关于php - Facebook、Twitter 等。登录网站不获取电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com