API设计:用于身份验证和内部授权的Auth0

时间:2018-12-23 18:50:17

标签: authentication api-design auth0

我正在创建一个与Flask API对话的iOS本机应用。

我的计划是让iOS前端句柄使用Auth0锁登录。然后,前端会将JWT存储在本地内存中,并在每个API请求中使用它。

在后端,我计划有一个同时具有内部ID字段和Auth0 ID字段的User表。对于每个API请求,我都会通过Auth0 ID查找用户,然后使用flask-bouncer之类的库来处理资源授权。

  1. 这是有效的方法吗?
  2. 是否有Auth0的任何现成功能? 我正在重建?如果是这样,使用 Auth0版本?
  3. 我将来还有什么想念的地方吗? 用这种方法?
  4. 使用Auth0代替自己按照this之类的方法自行构建,有什么好处?
  5. 还有什么需要考虑的吗?

1 个答案:

答案 0 :(得分:0)

  

这是有效的方法吗?

取决于您所说的有效内容。但这是可行的,是的。

  

我正在重建Auth0的任何现成功能吗?如果是这样,使用Auth0版本有什么优势?

您没有使用使用范围的授权。参见Auth0's tutorial for Flask

  

这种方法对我将来有什么影响吗?

这是一个广泛的问题,我不知道答案。

  

使用Auth0代替自己按照以下方式自己构建Auth0有什么优势?

您不必担心注册,登录,验证电子邮件,暴力保护,重置密码,MFA等。所有这些东西都可以立即使用。但是...一些更复杂的事情可能需要您付出更多的努力。

  

还有什么需要考虑的吗?

做出明确的决定,将信息存储在何处以及是否要在数据库中存储用户。一个容易犯的陷阱是,对于Auth0和您的数据库中的某些数据(例如名字和姓氏)有多个真实来源。另请参见User Data Storage Best Practices