servicestack,Authentication,servicestack" /> servicestack,Authentication,servicestack" />

Authentication 跨平台ServiceStack身份验证

Authentication 跨平台ServiceStack身份验证,authentication,servicestack,Authentication,servicestack,构建以下身份验证解决方案的最佳方法是什么 我有一个独立的(未与MVC集成)ServiceStack REST服务层。此服务是我所有数据的入口点。客户端上未存储任何数据 我有多个客户端(ASP.Net MVC 4站点、MonoTouch应用程序、MonoDroid应用程序、Silverlight应用程序、MonoMac应用程序等) 我希望在服务级别提供身份验证(Facebook、Twitter等),包括将用户存储在MongoDBAuthRepository中,但允许客户端提供登录UI(我想要这个吗

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

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

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

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


我读过维基,看过社交引导,读过论坛,但我仍然不清楚这是如何以分布式方式工作的。

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


一旦用户在同一身份验证会话中使用Twitter+Facebook和凭据进行身份验证,就会自动将所有身份验证信息合并到同一帐户中。因此,稍后您将能够使用1个身份验证提供程序登录,但可以访问所有3个提供程序上的可用信息。该项目提供了一个例子。

我缺少的部分是,如果我在浏览器(以及客户端(mvc/mobile/etc))中进行FB/Twitter身份验证,如何将该身份验证传递给ServiceStack远程服务?ServiceClient只需要指定
ss pid
cookie,该cookie可以通过使用BasicAuth/DigestAuth隐式分配,也可以通过直接调用
/auth/*
服务显式分配。否则,您可以将cookie实际添加到ServiceClient,它只是一个base62编码的AuthSessionId guidOk,我一直在尝试让它工作,但我认为我仍然缺少一些东西。用户通过手机登录twitter/facebook,然后尝试注册my ServiceStack服务或访问需要身份验证的服务。服务上的哪个身份验证提供程序?要传递哪些参数?设置什么密码?我的处境和罗布一样,我也很困惑。如果我在客户机上使用twitter/fb进行oauth(例如通过javascript),那么我需要向我的C#客户机添加什么来传递这些凭证以访问安全服务?两年来您是否有关于这些问题的更多信息?我还试图用我的servicestack网站验证我的移动应用程序,但我对这个过程感到迷茫。。。