OAuth的关于REST API移动应用(OAuth on REST API for mobile

2019-08-18 01:10发布

Ι'm致力于移动应用的后端,建立使用ASP.NET MVC 4网络API一个RESTful API。 该应用程序将在iOS和Android上运行。 我的用户将被允许只与他们的Facebook账户登录,并登录,只有当,他们将能够使用全部功能。

我没有与移动应用太多的经验,这就是多一个设计问题:哪两种方案的(?也许第三个)似乎更好的设计给你约谁应该负责Facebook的身份验证:

  1. 移动客户端负责。 而无需访问后端,它与Facebook直接说话,让用户输入他的证件,当它从Facebook的令牌,然后射后端首次,传送令牌给它的每一个要求。
  2. 后端API负责。 移动客户端试图从它访问的资源。 后端会从客户端没有认证令牌,它重定向到Facebook登录。 用户输入凭据和Facebook回复给传送令牌后端。 然后,后端是愿意回答大约所需的资源客户端的响应。

当然,第二个方案是指后端应该使用包像DotNetOpenAuth处理OAuth的,而在第一个场景中,这些都在移动客户端发生。

Answer 1:

我认为第一种方法是比较正确的,因为它模拟HTTP的无状态特性更好(这将是等同于像基本认证传统的HTTP认证方法)。 你会被发送Facebook的OAuth凭证到Web API在每次调用。 否则,服务器需要以某种方式保持状态有关使用诸如饼干例如机制,这看起来不正确的排在首位的身份验证的用户。 我会使用服务器端验证,只有当服务器需要消耗需要身份验证的其他服务,但它看起来像你的情况在这里。



文章来源: OAuth on REST API for mobile app