繁体   English   中英

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

[英]Shared Authentication between SAAS/Cloud web application and Desktop application

一个简单的场景:

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

如果我现在想从桌面客户端获取此信息,我该怎么做? 我可能不得不公开一个Web服务来查询这些信息,但身份验证怎么样?

DotNetOpenAuth ,还有Windows Identity Foundation ,我们有CardSpace等。
但是,我从哪里开始? 我需要哪一个? 我需要全部3个吗?
那么STS,OpenID / Windows Live ID有什么用?

有没有人看过使用这些技术的样本会做我想要的? 有什么指针吗?

在您的脑海中分离认证和授权的概念。 只能在您的网站上对用户进行身份验证。 您可以使用OpenID,InfoCard,STS或用户名+密码执行此操作。 必须授权为您的服务调用特定于用户的信息的客户端应用程序,这通常意味着他们要求用户输入用户名+密码,这是一种反模式,并在您使用更强或替代凭据(如OpenID或InfoCard)时崩溃,正如你所看到的那样。

授权应用程序应使用OAuth等委派协议,该协议允许用户访问允许桌面应用程序访问用户私有数据的网页,而无需用户将其凭据公开给应用程序。

DotNetOpenAuth支持这种完整方案。 它带有示例OAuth和OpenID站点。 我建议您查看演示OpenID登录的任一项目模板 (以及一个甚至包括InfoCard登录的Web表单)以及OAuth服务提供商,使其适用于两个Web用户并授权这些客户端应用程序。框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM