通常,使用 OAuth,最后您会从提供商那里收到一些信息,例如电子邮件、用户名、ID 或其他信息。它因提供商而异。您必须检查 FB 在流程结束时返回的内容。基本上,这里的想法是在这一步通过 FB ID(您可以将其存储为用户元数据)在您的数据库中搜索用户。如果找到用户,您只需像这样登录
wp_set_current_user($wp_user_id);
if (wp_validate_auth_cookie() == FALSE)
{
wp_set_auth_cookie($wp_user_id, true, false);
}
如果找不到用户,则为他们创建一个新用户
$userid = wp_insert_user(array('user_login' => $user_login,
'user_email' => $user_email,
//whatever other fields you need
'display_name' => $user_name,
'user_pass' => wp_generate_password(),
'role' => 'subscriber',
));
update_user_meta($userid, '_fb_id', $fb_id);
wp_set_current_user($userid);
if (wp_validate_auth_cookie() == FALSE)
{
wp_set_auth_cookie($userid, true, false);
}
您只需为他们生成随机密码。你不需要知道它,他们也不需要它,因为它永远不会被输入。您只需将当前用户设置为他们。如果您有任何问题,请告诉我。