我想使用来自我的应用程序的链接登录用户在他们的浏览器中Wordpress,但我担心这是否可以安全地完成。
显然,使用任何类型的静态URL模式似乎都是不可能的。我是否可以利用其他方法安全地完成这一任务,而无需花费一周时间来构建自定义机制?
我猜不是,但在重新发明方向盘之前,我想检查一下。非常感谢。
发布于 2018-05-25 04:47:30
可以,停那儿吧。但是,您需要知道userid或用户名。
用其中的任何一个作为数据属性创建一个链接,并使用它进行ajax调用。成功后,您可以重新加载页面,您的用户将被登录。
如果你知道用户身份..。
function wpse_304392_login_by_id() {
$user_id = $_POST['user_id'];
$user = get_user_by( 'id', $user_id );
if( $user ) {
wp_set_current_user( $user_id, $user->user_login );
wp_set_auth_cookie( $user_id );
do_action( 'wp_login', $user->user_login );
}
wp_die(); //Essential for AJAX calls
}如果你知道用户名..。
function wpse_304392_login_by_username() {
$username = $_POST['username'];
$user = get_user_by( 'login', username );
$user_id = $user->ID;
if( $user ) {
wp_set_current_user( $user_id, $username );
wp_set_auth_cookie( $user_id );
do_action( 'wp_login', $username );
}
wp_die(); //Essential for AJAX calls
}别忘了做一次即时检查以确保安全。
https://wordpress.stackexchange.com/questions/304392
复制相似问题