我需要扩展子域的cookie。领域com到所有域。com的子域(cookie术语中的domain.com)。
我正在努力将这种转变的影响降到最低。似乎用define(\'COOKIE_DOMAIN\', \'.domain.com\');
在wp config中,用户处于一种不确定的状态——他们的cookie足以进行验证,因此它不会移动到新的域范围。
有没有关于如何转换cookies的想法。子域。领域欢迎致电。领域com对用户的影响最小?
这是我一直在失败和挣扎的代码。当检测到错误哈希时,它尝试验证旧cookie(从更改AUTH_KEY
在wp配置中。php),然后尝试重新验证并将其发送回来源:
function do_report_bad_hash( $cookie_elements ) {
if( isset( $_COOKIE[\'wordpress_logged_in_\'] ) ) {
$user_id = wp_validate_auth_cookie( urldecode( $_COOKIE[\'wordpress_logged_in_\']), \'logged_in\' );
setcookie( \'wordpress_logged_in_\', \'\', 0, \'/\', \'.subdomain.domain.com\', false, true );
unset( $_COOKIE[\'wordpress_logged_in_\'] );
setcookie( \'wordpress_\', \'\', 0, \'/\', \'.subdomain.domain.com\', false, true );
unset( $_COOKIE[\'wordpress_\'] );
if ( $user_id !== false ) {
wp_set_auth_cookie($user_id);
$redirect = ( strpos($_SERVER[\'REQUEST_URI\'], \'/options.php\') && wp_get_referer() ) ? wp_get_referer() : $proto . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'];
header("Location: $redirect");
}
}
}
add_action(\'auth_cookie_bad_hash\', \'do_report_bad_hash\', 11, 1 );