代码之家  ›  专栏  ›  技术社区  ›  Magnus Johansson

SAAS/云web应用程序和桌面应用程序之间的共享身份验证

  •  3
  • Magnus Johansson  · 技术社区  · 16 年前

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

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

    有一个 DotNetOpenAuth 还有一个 Windows Identity Foundation ,我们有卡号空间等。

    那么STS呢,OpenID/Windows Live ID是否有任何限制?

    有什么建议吗?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Andrew Arnott    16 年前

    在您的脑海中分离身份验证和授权的概念。您可以在网站上对用户进行身份验证 . 您可以使用OpenID、信息卡、STS或用户名+密码来实现这一点。调用您的服务以获取用户特定信息的客户端应用程序必须 ,这通常意味着他们要求用户输入用户名+密码,这是一种反模式,当您使用更强大的或替代的凭据(如OpenID或InfoCard)时,就会出现故障,正如您所看到的。

    DotNetOpenAuth支持此完整方案。它附带示例OAuth和OpenID站点。我建议你去看看这两个 project templates

    推荐文章