Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何让网站认证用户自动登录到wordpress?_Wordpress_Authentication_Integration_Autologin - Fatal编程技术网

我们如何让网站认证用户自动登录到wordpress?

我们如何让网站认证用户自动登录到wordpress?,wordpress,authentication,integration,autologin,Wordpress,Authentication,Integration,Autologin,我有一个Web应用程序,用户在使用它之前将经过身份验证。此应用程序的帮助文档使用安装在不同服务器上的Wordpress进行维护(如果需要,Wordpress实例也可以安装在同一服务器上)。为了访问文档,用户必须通过身份验证,现在这是使用Wordpress插件完成的 现在我想让身份验证过程对所有人都通用。i、 e用户来到web应用程序,然后登录使用该应用程序,他们可以单击应用程序中的“文档”链接,用户也可以自动登录Wordpress。如何实现这一点?我以前也做过类似的事情,用户必须单击电子邮件中的

我有一个Web应用程序,用户在使用它之前将经过身份验证。此应用程序的帮助文档使用安装在不同服务器上的Wordpress进行维护(如果需要,Wordpress实例也可以安装在同一服务器上)。为了访问文档,用户必须通过身份验证,现在这是使用Wordpress插件完成的


现在我想让身份验证过程对所有人都通用。i、 e用户来到web应用程序,然后登录使用该应用程序,他们可以单击应用程序中的“文档”链接,用户也可以自动登录Wordpress。如何实现这一点?

我以前也做过类似的事情,用户必须单击电子邮件中的链接,然后自动登录

我在themes header.php中添加了以下内容

if (!is_user_logged_in())
{
  if (isset($_GET['u']) && !empty($_GET['u']))
  {
    $u = $_GET['u'];
    $result = $wpdb->get_row($wpdb->prepare("SELECT * FROM wp_users WHERE md5(concat(user_login,'SOMESECRETPHRASE',user_email)) = '%s' AND user_login != 'admin'",$u));
    if (isset($result->ID) && isset($result->user_login))
    {
        wp_set_current_user($result->ID, $result->user_login);
        wp_set_auth_cookie($result->ID);
    }
  }
}
用户登录链接是通过添加
/?u=“.md5($user\u login.”SOMESECRETPHRASE“$user\u email)
到链接的末尾


然后,他们将自动以正确的wordpress用户身份登录wordpress。

谢谢这一点-这对我正在进行的项目非常有帮助。作为一项额外的安全措施,我还添加了当前日期的md5和另一个密码短语。这样,脚本将只允许最近的登录链接。伙计,这不好啊!你必须生成一个完全随机的长令牌,并将其实际保存给用户,然后匹配完全相同的令牌,最好是使用
tries
列,这样就不能强制执行。如果有人猜到你的EASY EASY MD5(糟糕!),他们可以作为任何用户登录。