【问题标题】:Shared Authentication between SAAS/Cloud web application and Desktop applicationSAAS/Cloud Web 应用程序和桌面应用程序之间的共享身份验证
【发布时间】:2011-01-22 07:16:09
【问题描述】:

一个简单的场景:

假设我们在云端有一个 Web 应用程序,让用户可以使用 OpenID 进行注册。 (我愿意使用 Windows Live ID 作为替代) 他们可以登录并更新一些元数据,例如他们最喜欢的颜色。

如果我现在想从桌面客户端获取此信息,我该怎么做? 我可能必须公开一个 Web 服务才能查询此信息,但身份验证如何?

DotNetOpenAuthWindows Identity Foundation,我们还有 CardSpace 等。
但是我该从哪里开始呢?我需要哪一个?我需要全部 3 个吗?
那么 STS 呢,有没有针对 OpenID / Windows Live ID 的?

有没有人看到使用这些技术的示例可以满足我的要求? 有什么指点吗?

【问题讨论】:

    标签: .net openid identity wif cardspace


    【解决方案1】:

    在您的脑海中区分身份验证和授权的概念。您对您网站上的用户进行身份验证。您可以使用 OpenID、InfoCard、STS 或用户名+密码来执行此操作。调用您的服务以获取用户特定信息的客户端应用程序必须经过授权,这在传统上意味着它们会要求用户提供其用户名+密码,这是一种反模式,并且当您使用 strong 或如您所见,其他凭据,例如 OpenID 或 InfoCard。

    授权应用程序应使用授权协议(例如 OAuth),该协议允许用户访问允许桌面应用程序访问用户私人数据的网页,而无需用户将其凭据暴露给应用程序。

    DotNetOpenAuth 支持这个完整的场景。它带有示例 OAuth 和 OpenID 站点。我建议您查看演示 OpenID 登录的 project templates 中的任何一个(并且 Web 表单甚至包括 InfoCard 登录作为选项)以及 OAuth 服务提供商,使其适用于 Web 用户并直接授权这些客户端应用程序盒子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 2011-05-01
      • 1970-01-01
      • 2011-11-04
      • 2019-03-23
      • 1970-01-01
      • 2011-03-27
      • 2015-11-11
      相关资源
      最近更新 更多