返回目录:设置问题
ADFS和SAML:登录授权流程详解
授权流程
ADFS(Active Directory Federation Services)是微软提供的一种基于SAML(Security Assertion Markup Language)的单点登录解决方案。它可以在不同的网络中实现不同应用的身份认证和授权,从而实现一次登录即可访问多个应用。
在授权流程中,用户首先访问一个需要进行身份认证的应用程序。如果用户还没有进行身份认证,该应用程序将会匿名向ADFS服务请求认证。
ADFS此时将弹出一个网页,要求用户提供合法的用户名和密码。用户输入后,ADFS使用这些凭据向用户的域控制器(Active Directory Domain Controller)发出请求,验证用户的身份。如果验证通过,ADFS会向用户的浏览器返回一个安全的身份令牌(Security Token),该令牌中包含有关用户身份验证的信息。
这个身份令牌用于访问一个或多个目标应用程序。首先,用户再次访问目标应用程序。该应用程序将使用SAML协议建立与ADFS的信任关系,以获取用户的身份令牌。通过这个信任关系,目标应用程序可以验证这个身份令牌,并允许用户访问应用程序的资源。
认证方案
ADFS提供了几种方式来验证用户的身份,其中包括用户名和密码、Windows身份验证、PKI身份验证和双因素身份验证等。使用的身份验证方法取决于所选择的身份提供者和目标应用程序。
例如,在使用基于用户名和密码的身份验证方案时,ADFS会使用传统的表单验证来提示用户输入他们的凭据。在使用基于Windows身份验证的方案时,ADFS会考虑用户的Windows身份验证凭据,而在使用PKI身份验证的方案时,ADFS会使用用户的个人证书验证用户的身份。
部署SAML认证
在部署SAML认证时,需要先生成SAML元数据。SAML元数据是一个包含ADFS和目标应用程序信息的XML文件,它用来描述与SAML有关的各种安全配置信息。
通过使用元数据,ADFS和目标应用程序可以相互了解并建立信任关系,以进行安全配置。使用元数据,目标应用程序可以了解ADFS的身份提供者和身份令牌的属性,而ADFS可以了解目标应用程序的身份和状态属性。
在完成SAML元数据的生成后,可以将其导入ADFS服务器中,以建立与目标应用程序的信任关系。然后,在目标应用程序中配置SAML SSO(单点登录),以实现一次登录访问多个应用程序的功能。