gpt4 book ai didi

.net - SAAS/云 Web 应用程序和桌面应用程序之间的共享身份验证

转载 作者:行者123 更新时间:2023-12-02 02:34:34 25 4
gpt4 key购买 nike

一个简单的场景:

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

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

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

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

最佳答案

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

授权应用程序应使用 OAuth 等委托(delegate)协议(protocol),该协议(protocol)允许用户访问允许桌面应用程序访问用户私有(private)数据的网页,而无需用户向应用程序公开其凭据。

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

关于.net - SAAS/云 Web 应用程序和桌面应用程序之间的共享身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2356110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com