gpt4 book ai didi

angularjs - Azure DocumentDb 无需 C#、授权,只需直接使用 Angular

转载 作者:行者123 更新时间:2023-12-02 06:34:04 26 4
gpt4 key购买 nike

我已经搜索了 Google 和 StackOverflow,但没有结果。我是 DocumentDB 的新手刚刚从我的 SQL 实例导入数据;到目前为止,一切顺利。

我的文档不需要安全性,我正在 Azure 上寻找一种设置(?)来绕过 URL 和 token (来自 key ,即主 key )中的额外垃圾,或者一些解决方案来保持简单。

简而言之,我希望创建一个纯粹的 AngularJs 解决方案,它不需要额外的身份验证包袱,并且好奇需要做什么。 (我网站上的代理(例如 WebApi)对我不起作用,即这种简单的访问不需要 Microsoft.Azure.DocumentClass。)

最佳答案

由于您是 JavaScript 爱好者,因此我建议您使用 Azure 的 node.js 服务(Azure 术语中的 Web 应用程序)并建立一些代理服务。您只需进行一些配置就可以使用 npm 包 hoxy。还有流行的 json-proxy npm 包。您甚至可以只使用node-restify 或express.js 并编写代码来自己进行代理。

使用其中任何一个,您都可以实现一个最小的身份验证系统,这样您就不会遇到 David Makogon 提到的风险。

详细来说,这个想法是您假装直接从浏览器访问 DocumentDB 的 REST API。但是,该 URL 用于您的代理服务而不是 DocumentDB 端点。从浏览器调用时也可以省略 DocumentDB 身份验证内容,但添加一些您自己的身份验证。我推荐 Angular 支持的基本身份验证,并且非常容易在您的服务中实现。然后,您的代理确认浏览器的身份验证正确,并使用您的 DocumentDB 主 key 来访问 DocumentDB。您的代理基本上取代了完整的 DocumentDB 主 key 访问的基本身份验证。

不要将 DocumentDB 主 key 硬编码到代理代码中。相反,请将其放入服务引用的环境变量(portal.azure.com 中的配置选项)中 (process.env.DOCUMENT_DB_KEY)。

以最简单的形式,您可以将一个有效的用户名和密码存储在环境变量中。如果您需要多次登录,您可能需要将其存储在 DocumentDB 数据库中。明文密码存储可能适合您,但如果我不建议您使用节点的内置加密 (crypto.pbkdf2) 而不是明文密码来存储加盐哈希,那我就失职了。您可以根据您的用例跳过它,但您可能应该使用 https 而不是 http。 Azure 支持此功能,但您必须获取自己的证书。

我正在将当前更复杂的 DocumentDB API 前端转换为 npm 包。当它准备好时,我会很高兴与您分享。或者,我不需要很长时间就能编写出您概述的 super 简单的代码,并将其按规范发布到 npm。

关于angularjs - Azure DocumentDb 无需 C#、授权,只需直接使用 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com