代码之家  ›  专栏  ›  技术社区  ›  Christian Oudard

Web应用程序的单一登录

  •  1
  • Christian Oudard  · 技术社区  · 7 年前

    我正在寻找解决方案,用户注册网站与我们可以访问我们的应用程序,而不显式登录到我们的应用程序。

    1. 网站所有者将向我们注册以访问我们的应用程序
    2. 用户将登录到他们的网站,并看到我们的网站链接访问它。
    3. 一旦用户点击链接,用户将能够访问它。
    4. 如果用户试图通过浏览器访问此链接并登录到其网站,则显示错误消息。

    有没有办法通过cookies、webservices或htttp post方法等来实现这一点?

    4 回复  |  直到 17 年前
        1
  •  6
  •   JonoW    17 年前

    签出openid- http://openid.net/

        2
  •  1
  •   Sean    17 年前

    嗯,听起来你想要像OAuth这样的东西, http://oauth.net 对于授权和OpenID, http://openid.net/ ,支持允许用户轻松登录。

    google有一个混合协议openid+oauth,允许同时请求用户详细信息和访问令牌, http://code.google.com/apis/accounts/docs/OpenID.html .

        3
  •  1
  •   William Edmondson    17 年前

    Microsoft Windows 2003 R2推出了一款名为“活动目录联合身份验证服务”(ADF)的产品,它符合您的说明。adfs提供多个网站之间的单点登录。这包括属于您自己的站点,但您不一定信任这些站点来打开身份验证api。与AzMan集成,用于基于角色的授权,并可以对ActiveDirectory、子文件夹等进行身份验证。

    如果你所要找的只是基本的单点登录,这个解决方案就太过分了。基本上,他们所做的一切都是检查一个经过身份验证的会话,如果找不到会话,则执行307重定向到身份验证表单所在的联合服务器(身份验证网站)。一旦用户登录到联合服务器上设置的cookie中,用户将被重定向回原始站点,并将sessionid作为url变量附加。由该站点将sessionid的副本保留为自己域的cookie。

    我刚刚开始评估多个SSO工具的路径,发现如果我真正想要的是单点登录,那么我自己的解决方案就更容易了。

        4
  •  0
  •   Rad    17 年前

    你可以研究的另一个选择是 Windows Live ID . 当然,它的主要缺点是要求用户拥有Windows Live帐户,但这可能是问题,也可能不是问题