【问题标题】:Separate User / Admin API?单独的用户/管理员 API?
【发布时间】:2016-04-26 11:21:48
【问题描述】:

我正在使用 Angular 和 Node.js 构建一个多租户应用程序,为前端用户(公共)和管理区域用户(租户)使用相同的 API 是否明智?

管理区需要验证才能查看和修改敏感数据,但我不明白为什么 API 的其余部分不能对仅查询数据的前端开放?

这是个好主意吗?以后会不会出现问题?

我正在寻找以下应用程序结构:

  • 前端:tenant-name.domain.com(对公众开放)

  • 管理区域:domain.com/admin(带有登录名和令牌认证)

  • API:api.domain.com

让客户端的前端通过 API 进行身份验证是个好主意吗?

【问题讨论】:

    标签: angularjs node.js api rest multi-tenant


    【解决方案1】:

    我建议管理区域 API 调用需要在所有 API 调用上传递身份验证令牌。您可以使用 Angular 中的 http 请求拦截器将令牌注入标头中。还没有身份验证令牌的用户必须登录才能获得。注入的身份验证令牌应该是您需要的所有安全性。

    【讨论】:

    • 只是一个补充:你应该在拦截器代码中有$httpProvider.defaults.withCredentials = true;
    • 我得到了管理区域的那部分,那么匿名验证对公众开放的用户区域呢?这是不必要的吗?有些事情应该是安全的(用户订单),但我试图避免会话
    • 这是一个偏好问题,您可能会对此有很多不同的看法。一些具有公共功能的生产应用不使用任何身份验证、cookie 或跟踪。
    【解决方案2】:

    我建议您在匿名用户请求您的 API 时创建一个令牌。这样做的原因是您始终可以确定谁请求了什么。

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多