我环顾四周,但似乎找不到规范的答案。我正在尝试遵循最佳实践。也许我想错了。
我将我的 API 用户视为两种不同的类型:开发人员和最终用户,在不同的应用程序中使用不同的 django 模型。
开发人员将为 API 构建客户端,并且无需用户登录即可访问 API 的某些资源。为了限制他们的访问权限,我会要求他们注册并作为交换给他们一个 API 密钥。我们也可以这样说,使用 Angular 和 iOS 应用程序构建网站前端。一旦这些开发人员构建了他们的 API 客户端,我网站上已经创建了用户帐户的用户将使用开发人员创建的 API 客户端。在这些客户的请求中,我希望有一个开发人员姓名、api_key 以及用户名/密码(摘要,如果它是我们自己的受信任客户端和第三方开发人员的 oauth 令牌)。这将需要检查 1) 允许开发人员通过检查其 APIKey 来使用 API,以及 2) 对最终用户进行身份验证。这可能在美味派中吗?
我会以错误的方式解决这个问题吗?我将如何进行双重身份验证?