我有一个 Web 应用程序,用户在使用它之前将对其进行身份验证。此应用程序的帮助文档是使用安装在不同服务器上的 Wordpress 维护的(如果需要,Wordpress 实例也可以安装在同一服务器上)。为了访问文档,用户必须经过身份验证,现在这是使用 Wordpress 插件完成的。
现在我想让所有人都通用身份验证过程。即用户进入 Web 应用程序,然后登录以使用该应用程序,他们可以单击应用程序内的“文档”链接,用户也会自动登录到 Wordpress。我该如何实现这个?
最佳答案
我以前必须做类似的事情,用户必须单击电子邮件中的链接,然后它会自动登录。
我将以下内容添加到我的主题 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_login."SOMESECRETPHRASE".$user_email)
创建的
到链接末尾
然后他们将作为正确的 WordPress 用户自动登录到 WordPress。
关于wordpress - 我们怎样才能让网站经过身份验证的用户自动登录到 WordPress?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425747/