企业网络上的内部网站如何自动对用户进行身份验证



在公司环境中,当用户登录到他们的笔记本电脑时,他们可以自动通过内部网站的身份验证。

这是如何实现的?网站和浏览器如何知道用户是谁并对其进行身份验证?

有很多方法,但规范方法是通过Kerberos之类的协议。过程如下:

  1. 使用某种凭据登录到您的计算机,这些凭据会授予您所谓的票证授予票证(TGT(
  2. 打开浏览器,进入内部网站https://internal/page.html
  3. 网站以HTTP 401错误代码和标题WWW-Authenticate: Negotiate进行响应
  4. 浏览器检测到这一点,并调用操作系统的GSS/SSPI服务;请给我一张使用negotiate套餐前往http/internal的机票">
  5. GSS/SSPI服务会看到您有一个TGT,并调用KDC(Active Directory(并请求一个到http/internal的票证
  6. KDC说";"确定";并将票据返回给客户端
  7. GSS/SSPI服务将票证转换为所谓的AP-REQ,将其封装在SPNEGO消息中,并将其返回给浏览器
  8. 浏览器将其编码为base64,将其粘贴在Authorization: Negotiate {base64}标头中,然后重试对站点的请求
  9. 站点接收标头,检测到它是Negotiate,因此它将其传递给自己的GSS/SSPI服务
  10. 这些服务解码消息,提取AP-REQ,解密它,并验证它是否理解它
  11. 从票证中提取一个标识,并将其呈现给web应用程序内部

最终用户所做的只是(1(和(2(。客户端机器完成了剩下的工作。

然后,像SAML等人这样的更高级别协议可以依赖上面的流来向IdP验证您,然后IdP可以向您可能拥有的任何依赖方发送令牌。

前面提到了几种方法。一种是通过Windows集成身份验证和任何单一登录方法,如OKTA、Microsoft ADFS。

从用户的角度来看,这是一种非常好的体验,因为我们不需要记住那么多凭证

相关内容

  • 没有找到相关文章

最新更新