我有一个用户登录的客户端应用程序(Windows)。在这个应用程序中,用户将希望使用单点登录(SAML)访问远程网站,并且将由Microsoft WIF进行身份验证。要做到这一点,用户将点击一个打开本地网页浏览器的按钮,生成一个SAML令牌(包含用户名和角色等),并向远程网站发出HTTP POST以访问它,并将其签入。安全地在客户端应用程序中生成SAML2令牌,无需安装签名证书
我希望用户能够根据Windows应用程序的凭据自动登录。
我大致知道如何生成SAML令牌,但假设这需要在本地PC上安装签名证书,该证书需要安装到我公司的所有PC中。
安装此证书似乎不太正确。我还能如何安全地允许用户生成SAML令牌,服务提供商将会接受(通过单点登录)?
UPDATE:
的用户没有通过验证到使用Windows身份验证(Kerberos的)Windows应用程序,我们做一个自定义的SQL调用用户名/密码的数据库。
在win应用程序中,我们将知道用户名和他们的角色,因此可以从此生成声明,或将其传递给远程STS以生成和签署SAML令牌。但是再次将这些数据传递给STS似乎又完全错误了。
win应用程序不使用Windows身份验证(Kerberos),所以STS不能使用Kerberos(我认为)。 –
我可以将用户名从win应用程序传递给STS,STS将关闭并填充声明(角色)并生成/签署SAML令牌发送出去。但是,如何赢得应用程序安全地将用户名传递给STS? –
您必须向STS进行身份验证才能安全地传递用户的身份。如果您的工作站是Active Directory域的一部分,则可以使用Kerberos向STS进行身份验证。 –