无需手动输入凭据即可进行 SSO 身份验证

Posted

技术标签:

【中文标题】无需手动输入凭据即可进行 SSO 身份验证【英文标题】:SSO authentification without entering manually the credentials 【发布时间】:2019-12-19 13:31:00 【问题描述】:

我创建了一个将用于域的应用程序,我必须使用用户凭据进行身份验证。用户不得手动输入其凭据。我必须以某种方式从目标中获取用户名,然后检查 Active Directory,然后登录。

在网上搜索我发现我必须配置 Apache 服务器

我尝试安装mod_authnz_sspi,然后在 httpd.conf 中输入当前设置

<LocationMatch ^/$>
  AuthName "intranet"
  AuthType SSPI
  SSPIDomain xxx.xxx.xxx.xxx
  SSPIAuth on
  SSPIOfferSSPI on
  SSPIAuthoritative on
  require valid-user
  SSPIUsernameCase lower
</LocationMatch> 

但在浏览器中似乎输入用户名和密码女巫我不希望那样 我也尝试安装mod_authn_ntlm,但没有成功 有人可以知道该怎么做吗?谢谢!

【问题讨论】:

【参考方案1】:

使用mod_authnz_sspi,您走在正确的轨道上。如果您输入用户名和密码,它会起作用吗?如果是这样,那么您的服务器配置就完成了。

要使浏览器自动发送当前登录用户的凭据,浏览器需要信任该网站。对于 IE 和 Chrome,您必须将网站添加到 Internet 选项中的受信任站点或 Intranet 站点。

Firefox 使用自己的设置 network.negotiate-auth.trusted-uris,这是一个它信任的站点列表以进行身份​​验证。

【讨论】:

当我输入用户名和密码时,在我的 index.php 中我写了 "echo $_SERVER['REMOTE_USER'] " 并返回用户名。 这是一个好的开始。听起来您只需要设置浏览器以信任该网站即可。

以上是关于无需手动输入凭据即可进行 SSO 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python(SSO 身份验证)在 Snowflake 中进行查询?

无需身份验证令牌即可访问 Google 电子表格 API

Laravel Inertia (Vue) - 无需重定向即可进行身份验证

使用 Keycloak SSO 在 2 个应用程序之间保持身份验证

SAML简介

Android WebView 清除基本身份验证凭据