我不太确定API是否适合这种方式,所以有一点背景。
我一直在构建一个后端,它有一组非常有用的数据和工具供某人运行一个站点。正如人们所料,前端也使用相同的数据向客户展示。可能会在不久的将来添加移动应用程序,以便通过应用程序对网站进行更改。但后端可能会进入任何网站,如标准脚本(即,它不是集中存储的,也不是任何数据在客户端和我们之间来回传递)。
所以我认为解决这个问题的最佳方法是为网站制作API。当然,对于访问API的应用程序,它需要一个密钥来对API进行身份验证(最终用户可以通过其后端进行设置)。但是,我希望后端和前端使用API来访问相同的数据,因此无需编写任何内容。
我确信很明显,API对我来说是一件新事物。但是,我正在努力改进和调整我的编码以提高效率。
我想也许API可能会从查询位置做一些检查,看看它是本地请求(后端/前端)还是通过应用程序(使用密钥+用户身份验证)。那么如何确保后端和前端可以安全地访问API,而没有人可以通过欺骗访问它。我想这些检查可以在请求URL的行上,但我担心这可能是欺骗或其他事情(可以检查)可能是欺骗。允许本地访问的最佳方式是什么?有什么不能被欺骗的吗?
我知道我可以在代码中写入密钥,但由于代码是分发的,我不希望这个访问密钥是公开的 - 我也不想手动更改每个站点的密钥 - 也不要我真的希望最终用户在设置过程中输入一些随机字母和数字。
答案 0 :(得分:0)
您应该使用公钥/私钥。您的前端/后端,移动版本甚至第三方开发人员将使用他们的密钥进行相互身份验证。