8

构建以下身份验证解决方案的最佳方法是什么?

我有一个独立的(未与 MVC 集成)ServiceStack REST 服务层。该服务是我所有数据的入口点。没有数据存储在客户端上。

我有多个客户端(ASP.Net MVC 4 站点、MonoTouch 应用程序、MonoDroid 应用程序、Silverlight 应用程序、MonoMac 应用程序等)。

我想在服务级别提供身份验证(Facebook、Twitter 等),包括将用户存储在 MongoDBAuthRepository 中,但允许客户端提供登录 UI(我想要这个吗?)。例如,对于 MVC 站点,我想将远程 ServiceStack 身份验证服务(包括 Facebook、Twitter)与 MVC 的身份验证系统集成。看起来实际的身份验证应该发生在服务端,但客户端需要保留身份验证响应。

我已经阅读了 wiki,查看了 SocialBootstrap,并阅读了论坛,但我仍然对它应该如何以分布式方式工作感到困惑。

4

1 回答 1

5

对于 Twitter + Facebook 等 OAuth 选项,您的身份验证应该在浏览器中进行,因为它们每个都需要来自其受人尊敬的身份验证提供商的重定向,以从每个用户那里获取可信验证。一些移动应用程序通过为 Twitter + FB Auth 嵌入浏览器小部件来实现这一点。

一旦用户在同一个认证会话中通过 Twitter + Facebook 和 Credentials 认证,ServiceStack 的 AuthProviders 会自动将所有 Auth 信息合并到同一个帐户中。因此,稍后您将能够使用 1 个身份验证提供程序登录,但可以访问所有 3 个可用的信息。SocialBootstrapApi项目提供了一个示例。

于 2012-10-01T19:35:16.300 回答