【发布时间】:2016-06-09 02:14:35
【问题描述】:
我最近阅读了很多关于 WEB API 身份验证机制的内容,我对如何实现我的 Web API 身份验证机制有点困惑,我正在考虑使用基于令牌的身份验证,但我不确定是否这是正确的选择。
基本上,我的 Web API 将管理所有需要的操作,它会存储我网站的用户以及 API 用户(以防他们必须分开)。
我想支持以下
用户可以使用他们的 G+ 或 Facebook 帐户或从我的服务中创建的用户名在我的网站和应用程序上注册,他们也将使用他们的社交帐户登录。 如果用户未登录,他们将无法发布项目,但他们将能够看到项目,例如 Craiglist。 假设用户是开发人员,他们想通过他们创建的一些软件发布项目,而不是通过网站一次发布一个项目,我该如何允许? 现在,我的问题是:1)当用户在我的网站上注册时,我是否必须为其创建一个(公钥/密钥)后续访问令牌,以便我可以使用网站上的 API 作为用户检查他们是否可以访问某些端点?
2) 我是否必须为我的网站分配一个(公钥/密钥),以便在用户未登录时使用 API?
3) 移动应用同上
4) 我如何允许用户(注册/登录)使用 G+ 或 Facebook?如果他们使用任何社交网络登录,我将如何保护我的 api?
请,任何答案将不胜感激。
谢谢
【问题讨论】:
标签: api authentication authorization asp.net-web-api2 restful-authentication