登录后使用Azure B2C重定向URL的WordPress多站点

时间:2020-08-10 作者:princeexpedition

我的WP multisite有300多个站点,这意味着我需要在Azure AD B2C中存储所有300个redirect\\u URL,但由于重定向URI的最大数量为256,因此此数量的redirect\\u URL无法存储在AD B2C中。

我所做的是当用户通过www.abc1.com/wp-admin, 它首先使用默认重定向URL重定向到B2C登录页面(www.abc.com) 我设定的。验证令牌后,用户将重定向到其站点(www.abc1.com).

但它似乎不起作用。我甚至不确定这是否是将用户重定向到他们希望通过这种方式访问的站点的最佳方法。

//fetch the user\' site id and redirect to the site.
$user_blogs = get_blogs_of_user($userID);
if (!empty($user_blogs)) {
$siteInfo = array();
foreach ($user_blogs as $site_id => $site_values) {
$siteInfo[] = $site_values->siteurl;
}
$redirect_url = $siteInfo[0] ; // to the primary site..
}

// Set cookies to authenticate on WP side
wp_set_auth_cookie($userID);

//Redirect to primary site that assigned to the user
wp_safe_redirect($redirect_url);

1 个回复
最合适的回答,由SO网友:Nate Allen 整理而成

我可以看到这种方法存在一些问题:

如果用户还不属于某个站点,则无法正确重定向,因为$redirect_url 不会被定义如果用户属于多个站点,他们将始终被重定向到ID最低的站点,而不一定是他们尝试登录的站点您尝试过Azure SSO插件吗?我为一个客户端构建了一个intranet,该客户端使用Azure让员工登录该站点,我们使用Single Sign-on with Azure Active Directory (for WordPress). 它应该与多站点协同工作;您只需要确保在每个站点上都正确配置了它。

相关推荐

Multisite installation steps?

我启动了Multisite 特色我想在子域中创建一个站点。我有两个问题:在多站点管理仪表板中创建站点之前,还是之后,我必须在服务器上创建子域</如果是,在multisite admindashboard中创建站点之前,还是之后,我必须在此子域中安装WordPress安装我在StackExchange上找到了这个,但它对我没有帮助,或者我就是不明白。Subdomain multisite gives 404 on sub sites谢谢弗朗索瓦