无需安装签名证书即可在客户端应用程序中安全生成 SAML2 令牌
Safely generate a SAML2 token in a client application without install signing certificate
我有一个用户登录的客户端应用程序 (windows)。从此应用程序中,用户将希望使用单点登录 (SAML) 访问远程网站,并将通过 Microsoft WIF 进行身份验证。为此,用户将单击打开本地网络浏览器的按钮,生成 SAML 令牌(包含用户名和角色等)并向远程网站发送 HTTP POST 以访问它,并登录。
我希望用户根据他们在 windows 应用程序中的凭据自动登录。
我大致知道如何生成 SAML 令牌,但假设这需要在本地 PC 上安装签名证书,这需要安装到我公司的所有 PC 上。
安装此证书似乎不太正确。我还能如何安全地允许用户生成将被服务提供商接受的 SAML 令牌(通过单点登录)?
更新:
用户未通过使用 Windows 身份验证 (Kerberos) 的 Windows 应用程序的身份验证,我们对 username/password 的数据库进行自定义 SQL 调用。
在 win 应用程序中,我们将知道用户名及其角色,因此可以由此生成声明,或将其传递给远程 STS 以生成并签署 SAML 令牌。但是再次将这些数据传递给 STS 似乎又是完全错误的。
签名证书不能在用户桌面上。否则,任何用户都可能会生成一个包含其所需用户 ID 的 SAML 令牌。
您需要的是安全令牌服务 (STS):身份提供者将通过 Kerberos 对您的用户进行身份验证(因为您希望重新使用已登录用户的身份)并为您提供签名的 SAML令牌。
当您在应用程序中打开 Web 视图时,所有这些都可以完成。起始 url 应该是 IDP 发起的 SSO 的身份提供者端点,带有一个 url 参数标识您要访问的服务。
我有一个用户登录的客户端应用程序 (windows)。从此应用程序中,用户将希望使用单点登录 (SAML) 访问远程网站,并将通过 Microsoft WIF 进行身份验证。为此,用户将单击打开本地网络浏览器的按钮,生成 SAML 令牌(包含用户名和角色等)并向远程网站发送 HTTP POST 以访问它,并登录。
我希望用户根据他们在 windows 应用程序中的凭据自动登录。
我大致知道如何生成 SAML 令牌,但假设这需要在本地 PC 上安装签名证书,这需要安装到我公司的所有 PC 上。
安装此证书似乎不太正确。我还能如何安全地允许用户生成将被服务提供商接受的 SAML 令牌(通过单点登录)?
更新:
用户未通过使用 Windows 身份验证 (Kerberos) 的 Windows 应用程序的身份验证,我们对 username/password 的数据库进行自定义 SQL 调用。
在 win 应用程序中,我们将知道用户名及其角色,因此可以由此生成声明,或将其传递给远程 STS 以生成并签署 SAML 令牌。但是再次将这些数据传递给 STS 似乎又是完全错误的。
签名证书不能在用户桌面上。否则,任何用户都可能会生成一个包含其所需用户 ID 的 SAML 令牌。
您需要的是安全令牌服务 (STS):身份提供者将通过 Kerberos 对您的用户进行身份验证(因为您希望重新使用已登录用户的身份)并为您提供签名的 SAML令牌。
当您在应用程序中打开 Web 视图时,所有这些都可以完成。起始 url 应该是 IDP 发起的 SSO 的身份提供者端点,带有一个 url 参数标识您要访问的服务。