我使用Angular和Node.js构建多租户应用程序,为前端用户(公共)和管理员区域用户(租户)提供相同的API是否明智?
管理区域需要身份验证才能查看和修改敏感数据,但我不明白为什么API的其余部分不能为前端打开,只查询数据?
这是个好主意吗?它会引起进一步的问题吗?
我希望采用以下应用程序结构:
前端:tenant-name.domain.com(向公众开放)
管理员区域:domain.com/admin(使用登录和令牌身份验证)
API:api.domain.com
让客户端的前端使用API进行身份验证是不是一个好主意?
答案 0 :(得分:1)
我建议管理区域API调用要求在所有API调用上传递身份验证令牌。您可以使用Angular中的http请求拦截器将令牌注入到标头中。尚未拥有身份验证令牌的用户必须登录才能获得身份令牌。注入的身份验证令牌应该是您需要的所有安全性。
答案 1 :(得分:0)
我建议您在匿名用户请求API时创建令牌。原因是您始终可以确定谁请求了什么。