跨平台Servicestack身份验证
-
12-12-2019 - |
题
建立以下解决方案的最佳方法是什么?
我有一个独立的(没有与mvc集成)servicestack休息服务层。此服务是所有数据的入口点。客户端上没有数据存储。
我有多个客户端(ASP.NET MVC 4站点,Monotouch App,Monodroid应用程序,Silverlight App,Monomac App等)。
我想在服务级别提供身份验证(Facebook,Twitter等),包括将用户存储在MongodbauthRepository中,但允许客户端提供登录UI(我想要这个吗?)。例如,对于MVC站点,我希望将远程Servicestack认证服务(包括Facebook,Twitter)与MVC的身份验证系统集成。似乎实际身份验证应该在服务方面发生,但客户端需要保持身份验证响应。
我读过wiki,看着socialbootstrap,并阅读论坛,但我仍然困惑如何以分布方式工作。
解决方案
对于Twitter + Facebook等OAuth选项,您的身份验证应在浏览器中发生,因为它们需要从其尊重的AUTH提供者中重定向以捕获每个用户的可信验证。一些移动应用程序通过嵌入Twitter + FB Auth的浏览器小部件来执行此操作。
一旦使用Twitter + Facebook和凭据在同一经验验证的会话中进行身份验证, servicestack的authpraviders 自动将所有Auth Info融入同一帐户。所以稍后您将能够使用1验证提供者登录,但可以访问所有3的信息。 socialbootstrapapi 项目提供了一个例子其中。
不隶属于 StackOverflow