没有http重定向的OpenId?

时间:2011-03-01 16:38:57

标签: security openid google-authentication

我想使用集中式身份验证系统之一,如OpenId,Google或Facebook身份验证系统。但是我发现所有这些都使用HTTP重定向到相应的服务器以进行注册过程。

我的问题是,对于我的系统,我们希望提供不同的客户端,其中一些是独立的应用程序,因此除非我实现了一个迷你浏览器(或类似的东西),否则HTTP重定向策略将不起作用我的客户。

可以以编程方式进行联合身份验证吗?

谢谢,

古斯塔沃。

2 个答案:

答案 0 :(得分:3)

这些系统的信任和安全性依赖于浏览器。作为用户,如果浏览器告诉我我已连接到我的提供商,我只输入我的凭据:通过指示安全连接并显示反网络钓鱼密封。

您可以在我的应用程序或您的网站上询问我的凭据,并代表我进行整个身份验证会话,但为什么我会将它们提供给您?您可以在应用程序中显示嵌入式浏览器或在您的网站上显示iframe,但为什么我会相信您不会获取我的凭据?

然后就是方便:我的浏览器有一个来自我的提供商的cookie,所以我甚至不需要在大多数时间输入凭证。

我认为独立应用程序的最佳方法是与您的应用程序服务器建立会话,然后启动浏览器,将用户带到您的Web服务器,并使用会话标识符对该会话进行身份验证。然后告诉他们身份验证已完成,他们可能会返回应用程序。使用cookie或存储的密码,无论如何都要比在您的应用程序中输入凭据更快。

答案 1 :(得分:0)

基于@aaz建议的内容,根据应用程序对Internet的暴露程度,您可以构造一个HttpListener并将return_to URL指向您的侦听器。但是,不太可能在防火墙后面工作。