我在移动应用程序的后端工作,使用ASP.NET MVC 4 Web Api构建RESTful API。该应用程序将在iOS和Android上运行。我的用户只能使用他们的Facebook帐户登录,只有登录后,他们才能使用整个功能。
我对移动应用程序没有多少经验,这更像是一个设计问题:两个场景中的哪一个(或者可能是第三个?)似乎更好地设计了谁应该负责facebook身份验证:< / p>
当然,第二种情况意味着后端应该使用像DotNetOpenAuth这样的包处理OAuth,而在第一种情况下,这些都发生在移动客户端。
答案 0 :(得分:1)
我认为第一种方法更正确,因为它更好地模拟了http的无状态特性(它将等同于传统的http auth方法,如Basic Auth)。您将在每次通话时将facebook OAuth令牌发送到web api。否则,服务器需要使用诸如cookie之类的机制以某种方式保持关于经过身份验证的用户的状态,这在第一时间看起来不正确。我只会在服务器需要使用需要身份验证的其他服务时使用服务器端身份验证,但它确实如此。