如何在WordPress设置SAML单点登录 (SSO)

向WordPress添加单点登录可让您的用户快速安全地登录您的WordPress网站,而无需记住用户名和密码。相反,他们可以使用他们的Google登录名、Okta或许多其他SSO服务之一。

在本教程中,我们将逐步向您展示如何在WordPress中正确设置SAML单点登录。

设置SAML单点登录 (SSO)

为什么要向WordPress添加SAML单点登录?

SAML SSO是一种开放协议,允许用户使用相同的凭据登录到多个网站。例如,通过单点登录,您可以使用您的Google帐户登录WordPress。

这提高了用户满意度,因为他们不必经历密码重置过程,而是可以使用现有的登录信息。

从网站所有者的角度来看,它可以让您在登录期间通过可信赖的提供商验证用户的身份,从而提​​高您的WordPress安全性

单点登录对公司内部网站非常有益。公司管理员/人力资源团队喜欢它,因为它可以轻松地将新团队成员加入多个网站。

WP登录页面

下面将分享两个不同的WordPress插件,它们可以帮助您在WordPress中设置SAML SSO。

方法 1. 使用Google Apps Login设置SAML SSO

我们建议使用Google Apps Login插件在WordPress中设置SAML单点登录。该插件非常易于使用,可让您的用户、员工或学生选择通过安全的Google账号快速登录。

您需要做的第一件事是安装并启用插件。插件激活后,您需要导航到Google Cloud Platform Console以创建新的API,以便将您的Google帐户和WordPress连接在一起。

要创建新API,首先单击屏幕顶部的“Select a project”下拉菜单。

如果您已经创建了一个Google开发者项目,您的屏幕看起来可能略有不同,但您仍然可以简单地点击相同的下拉箭头来创建一个新项目。

Google开发者项目

这将弹出一个弹出窗口。在这里,您需要单击右上角的“New Project”按钮。

新建Google开发者项目

在下一个屏幕上,您需要在“Project name”框中为您的项目命名。这将帮助您记住项目的目的,但它不会出现在您的访问者面前。您还需要确保“Organization”和“Location”与您网站的域名相匹配。

新建Google开发者项目2

之后,单击“Create”按钮。创建项目后,会有一个下拉通知菜单显示您的新项目。单击“Select Project”按钮打开项目。

选择Google开发者项目

接下来,单击左侧菜单中的“OAuth consent screen”选项。在这里,您有两个选项可供选择。如果您有会员网站或销售在线课程并希望允许您的用户使用Google登录,则“External”选项很有意义。“Internal”选项仅允许您公司内的用户使用Google登录。对于此选项,您需要拥有一个高级Google Workspace帐户,并且您的用户需要被添加为团队成员。

无论您选择内部还是外部,每个需要登录的用户都必须在其Gmail地址下设置一个现有的WordPress帐户。否则,他们将无法登录。下面我们将选择“External”选项为示例,因为这使我们可以更灵活地确定谁可以登录。

谷歌API OAuth设置

之后,单击“Create”按钮。这会将您带到一个屏幕以输入您的应用程序详细信息。首先,您需要输入您的“App name”并从下拉列表中选择“User support email”。

创建谷歌APP信息

然后,输入您的“App domain”信息。您需要填写所有三个字段。Google需要这些信息来确保您的网站符合在线隐私法规和用户同意。

设置谷歌APP域名

之后,向下滚动到“Authorized domains”部分。然后,单击“Add Domain”按钮以显示一个框,您将在其中输入您的域名。

设置谷歌APP认证域名

确保您输入的域正确填写协议http://或https://。接下来,在“Developer contact information box”中输入您的电子邮件地址,以便Google在您的项目出现问题时与您取得联系。

设置谷歌开发者邮箱

然后,单击“Save and Continue”按钮。之后,单击页面左侧导航菜单中的“Credentials”选项,然后单击“Create Credentials”。

创建谷歌API凭证

这会弹出一个下拉菜单。您需要选择“OAuth client ID”选项。

谷歌API OAuth client ID

在下一个屏幕上,单击“Application type”下拉列表。然后,从列表中选择“Web application”。

谷歌API应用类型设置

这将打开一个表单,您可以在其中为您的网络应用程序命名。该名称仅供您自己参考,不会向您的访问者显示。

谷歌Web应用名称设置

接下来,向下滚动到“Authorized Javascript origins”部分。然后,单击“Add URL”按钮并输入您网站的URL。

设置API请求域名

之后,单击“Authorized redirect URLs”部分中的“Add URL”按钮并输入您的登录重定向URL。此URL是您的登录页面的 URL。对于大多数WordPress网站,这将是“yoursite.com/wp-login.php”。

设置登陆URL重定向

之后,单击“Create”按钮。这会弹出一个包含您的“Client ID”和“Client Secret”的弹出窗口。您需要将这两个复制到您喜欢的文本编辑器中。

获取谷歌API凭证信息

现在您需要导航回您的WordPress管理面板并转到Settings » Google Apps Login。在此屏幕上,您将输入从上面复制的“Client ID”和“Client Secret”字符串。

WP配置谷歌API凭证信息

之后,单击“Save Changes”。完成此操作后,将启用Google单点登录。现在,当您或访问者进入WordPress登录页面时,他们只需点击几下即可使用他们的Google帐户登录。

附单点登陆WP默认登录界面

方法 2. 使用SAML Single Sign On设置SAML SSO

此方法涉及使用SAML Single Sign On插件。此插件可让您将SAML SSO添加到WordPress并支持各种不同的登录。

例如,您可以使用 Google、Salesforce、Microsoft Office 365、OneLogin、Azure等添加SSO。由于它支持各种业务工具,因此更适合只允许团队成员登录的业务。

您需要做的第一件事是安装并启用插件。激活后,导航到miniOrange SAML 2.0 SSO » Plugin Configuration以显示插件设置屏幕。

在这里,您需要选择您的服务提供商。这是您的用户将用于登录的服务。

SAML Single Sign On设置

在本教程中,我们将使用“Google Apps”,但您可以为您的网站选择最佳提供商。集成步骤将类似。要使用Google Apps设置 SSO,您需要一个Google Workspace帐户。Google Workspace是一组来自Google的优质生产力和业务工具。

您还需要为要授予登录访问权限的每个用户创建一个WordPress帐户。每个用户的电子邮件地址必须是Gmail帐户,或来自Google Workspace的团队成员电子邮件。

拥有高级Google Workspace帐户后,您可以继续在WordPress中设置SSO。接下来,单击“Service Provider Metadata”菜单选项。

Service Provider Metadata

然后,向下滚动页面,直到找到列出了“SP-EntityID/Issuer”和“ACS URL”的图表。复制这两个并将它们粘贴到您最喜欢的文本编辑器中。

How to Properly Setup SAML Single Sign-On (SSO) in WordPress-1

完成此操作后,您需要在新选项卡中打开Google管理控制台。然后,转到左侧导航菜单中的Apps » Web and mobile apps

Web and mobile apps

之后,单击“Add App”下拉菜单。然后,选择“Add custom SAML app”选项。

添加自定义SAML app

在下一个屏幕上,您需要为您的应用程序命名,并且您可以根据需要上传自定义Logo。然后,单击“Continue”按钮。

上传APP图标及设置名称

对于下一步,您有两种不同的选择。最简单的选项是“Option 1”,您只需单击“Download Metadata”按钮即可。您需要在稍后的步骤中将此数据上传到WordPress。

Download Metadata

之后,单击屏幕底部的“Continue”。这会将您带到一个屏幕,您可以在其中粘贴您之前复制的“ACS URL”和“Entity ID”。然后,选中“Signed response”复选框。

设置登录响应信息

接下来,从“EMAIL”下拉列表中选择“Name ID format”。然后,单击屏幕底部的“Continue”。

设置Email地址

在下一个屏幕上,您需要单击“Add Mapping”按钮。这会将您的WordPress登录表单中的数据映射到Google。

数据映射设置

接下来,在“Basic information”框选择“First name”字段,然后在“App attributes”框中键入“lastname”。

然后,单击“Add Mapping”按钮,选择“Last name”字段,然后在“App attributes”框中键入“lastname”。

基础信息填写

完成后,单击“Finish”按钮。现在,您将返回到刚刚创建的SAML应用程序。选择您的应用程序,然后单击“User access”部分。

用户访问设置

然后,在“Service status”框中,单击“ON for everyone”单选按钮。之后,单击“Save”。

为所有人启用

您现在已成功创建并启用您的SAML SSO应用程序。现在,返回您的WordPress管理面板并导航到miniOrange SAML 2.0 SSO » Plugin Configuration

在此屏幕上,确保选择了“Google Apps”并向下滚动到“Configure Service Provider”部分,然后单击“Upload IDP Metadata File/XML”按钮。

上传IDP Metadata File/XML

现在,在“Identity Provider Name”框中键入“Google”,然后单击“Choose File”按钮。然后,选择您之前下载的 XML 文件并单击“Upload”按钮。

选择Google提供商及上传元数据文件

之后,单击“Attribute/Role Mapping”菜单选项。对于插件的免费版本,您必须保留默认属性选项。

Attribute/Role Mapping设置

然后,向下滚动到“Role Mapping”部分。您可以在此处更改默认角色,该角色将分配给所有使用SSO登录的非管理员用户。如果尚未选择,请从下拉列表中选择“Subscriber”,然后单击屏幕底部的“Save”按钮。

更改默认角色

现在您需要添加一个简单的登录链接到您的WordPress博客。

为此,请导航到外观 » 小工具并查找您要添加登录链接的小部件区域。在本教程中,我们将登录小工具添加到右侧边栏小部件区域。

在小工具区域下,单击“+”图标以添加新区块。

添加登录小工具区块

然后,在搜索栏中输入“Login”,这样您就可以找到并选择“Login with Google”小工具。这将在小工具区域中插入一个“Login with Google”链接。

Login with Google小工具

如果愿意,您还可以为登录区块添加标题。在离开页面之前,请务必点击“Update”按钮。

发布更新

现在,当您的用户访问您的网站时,他们可以选择使用他们的Google帐户登录。当他们点击链接时,他们将被带到Google登录屏幕以选择他们的帐户。

谷歌登录小工具示例

我们希望本教程能帮助您学习如何在WordPress中正确设置SAML单点登录。

评论留言