所以有一点背景知识,我正在开发一个现有的 Web 应用程序,它有一组用户,他们能够通过传统的登录屏幕使用用户名和密码等登录。
最近,我们设法为一个客户(他们有自己的 Intranet 站点)打分,他们希望能够让他们的用户登录到他们的 Intranet 站点,然后让他们的用户单击他们 Intranet 上的链接,该链接重定向到我们的应用程序并自动将它们记录到其中。
到目前为止,我对如何实现这一点有两个建议:
- 创建一个带有 2 个参数(即“用户名”和“密码”)的 URL,并让 Intranet 站点将这些参数传递给我们(我们的连接是通过 SSL/TLS 进行的,所以它都是加密的)。这可以正常工作,但似乎有点“hacky”,并且也意味着两个系统上的登录名和密码必须相同(并且必须编写某种可以更新用户密码的 Web 服务 - 这也好像有点不安全)
- 向 Intranet 提供令牌,因此当客户端单击 Intranet 上的链接时,它会将令牌连同用户名(没有密码)一起发送给我们,这意味着它们已通过身份验证。同样,这听起来有点骇人听闻,因为这与为每个人提供相同的登录密码本质上不一样吗?
总而言之,我追求以下几点:
- 一种让已经在 Intranet 上通过身份验证的用户登录到我们系统的方式,无需太多麻烦,也无需使用外部系统进行身份验证,即 LDAP / Kerberos
- 对这个客户端不太具体的东西,可以很容易地由其他 Intranet 实现以登录