WinForm中的OpenID?

时间:2009-01-20 17:28:10

标签: c# winforms openid rpx

在WinForm(.net 2.0和C#)中是否有人知道OpenID的最佳(或任何)教程是否有或没有RPX?

4 个答案:

答案 0 :(得分:0)

由于WinForms是一个客户端接口,并且OpenID要求您实际运行Web服务器,您可能只想在某个地方设置一个执行OpenID身份验证的Web应用程序,然后返回某种类型的证明应用程序声明用户已登录。然后嵌入浏览器控件,以便用户可以通过此Web应用程序登录。

请注意,如果用户拥有对终端的控制权,这将不会为您带来任何安全性 - 他们可以将请求重定向到他们控制下的假服务器,破解二进制文件等等。所以我不确定这将如何最后是有用的:)

答案 1 :(得分:0)

Open ID协议不是你可以从任何地方调用的东西。它依赖于Web浏览器重定向将用户发送到提供商的登录页面并返回依赖方。

如果您考虑一下,尝试从客户端应用程序使用Open ID没有多大意义。 Open ID依赖于用户信任他们的Web浏览器,因此当他们被重定向到他们的Open ID提供者的登录页面时,他们可以查看URL并确保他们将他们的凭据输入可信方。

OTOH,用户不相信您的Winforms应用。如果您将登录页面实现为WinForm,他们将如何知道使用凭据信任您的应用程序?

在WinForms应用程序中执行此操作的唯一方法是将Web浏览器控件嵌入到您的登录表单中,但我认为与其进行通信以获取身份验证信息可能是一个挑战。

答案 2 :(得分:0)

同样不鼓励在应用程序中嵌入OpenID的其他回答者说了些什么。

但我会补充一下:你应该看看OAuth。它很可能正是您正在寻找的,实际上是为应用程序设计的,以便通过Web服务进行身份验证。

答案 3 :(得分:0)

这里有一个用于Windows窗体的OpenID认证的客户端库:

IdentityModel.OidcClient2