首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个前端应用程序1后端api

多个前端应用程序1后端api
EN

Software Engineering用户
提问于 2018-08-13 11:43:29
回答 4查看 3.9K关注 0票数 3

我需要构建一些(2-3)不同的系统(前端),它们将有不同的用途和用户,但是所有这些系统的数据都在1DB中。

第一系统是面向客户的站点,第二系统是面向客户的移动应用程序(android和ios) (类似于站点,但可以有不同的视图/数据)第三系统是后台应用程序,管理员可以在其中管理客户。

因为数据在1DB中,所以我计划创建一个后端API来支持所有的前端。

然而,我越是试图规划身份验证和授权部分(前端将如何与后端对话),它就变得太复杂了。

我正在推动一个后端api,以防止代码/功能重复或差异问题,例如,“编辑客户”包含了许多步骤,并且通过每个前端都是可能的。我不希望同一个函数有3个不一致的版本。

有没有人有类似的需求,并找到了一个好的解决方案?

我目前的主要问题是如何保护每个应用程序的某些功能,保护每个user+frontend应用程序的api路由。

我对使用哪种前端技术持开放态度,后端是nodejs

谢谢

EN

回答 4

Software Engineering用户

发布于 2018-08-13 13:41:15

你有三个选择。

  1. 使所有前端使用相同的auth服务器。后端可以验证令牌并检查声明。
  2. 使后端能够验证每个前端的请求。例如,您可以让它检查一组可能的签名密钥。
  3. 对于后端有一个单独的身份验证方法,比如每个前端都知道的API密钥。为了对最终用户隐藏这个密钥,这可能需要每个前端都有一个简单的后端,该后端理解其前端auth,添加秘密API密钥,调用后端,然后返回结果。
票数 2
EN

Software Engineering用户

发布于 2018-08-14 22:06:29

我将根据您的计划创建一个单独的后端API,并将有关前端的信息存储在url中,类似于:

http://mobile.localhost/customers

http://web.localhost/customers

然后我会把这个信息放到请求对象中(这取决于您将使用的语言、框架)。我会像您使用用户角色一样使用这个。通过使用这些信息,urls可以得到保护。您也可以将其放在api中,根据前端的不同,api必须以不同的方式完成不同的事情。

致以问候。

票数 2
EN

Software Engineering用户

发布于 2018-08-13 13:18:29

我不认为在多个前端使用一个后端和编写每个前端(它自己的后端)之间没有任何区别。我不会在前端提出建议--尽管angularjs很容易与类等一起使用--但是如果可以的话,在后端使用继承。

编写一个具有公共功能的父类,并从每个后端继承(比如,您仍然有3个类,但麻烦会更少)。这样,您就不必复制相同的函数,但在需要时,您可以进行专门化。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/376785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档