【问题标题】:Prismic - How to make API calls without exposing Access TokenPrismic - 如何在不暴露访问令牌的情况下进行 API 调用
【发布时间】:2023-03-19 21:49:01
【问题描述】:

我正在构建一个 vue js Web 应用程序,我想分别调用我的 prismic 存储库,但我不知道如何在不暴露我的访问令牌的情况下执行此操作。我正在使用 here 显示的其余 api 方法。 有任何想法吗?

http请求语法如下。我想在我的 vue 组件中执行此操作,同时不暴露 access_token。

http://your-repository-name.prismic.io/api/v2/documents/search?ref=Your_Ref&access_token=Your_Token

在我的 API/安全设置中,我还获得了一个客户端 ID 和客户端密码。我也不知道如何使用这些。

谢谢

【问题讨论】:

  • 为此使用POST 请求而不是GET 请求。这也不是 100% 安全的,但它确实删除了地址栏中包含您的访问令牌的查询字符串。

标签: javascript node.js vue.js oauth prismic.io


【解决方案1】:

您必须将访问令牌存储在您的服务器上,并让它代表客户端处理请求。

最后,您将请求发送到您的服务器而不是直接发送到prismic.io,然后您的服务器将发送访问令牌授权请求,获取您需要的任何内容并将其返回以响应客户端。

工作流程如下所示:

  1. 客户端发送请求到http://localhost:8000/api/endpoint
  2. 服务器向与上述端点关联的prismic.io端点发送请求。
  3. 服务器收到prismic.io 响应并将其发送回客户端。
  4. 客户端得到响应。

如果你想在客户端隐藏你的访问令牌,那是不可能的。为了保护您的访问令牌,其他两个选项是:

  1. 让用户使用自己的prismic.io 访问令牌。
  2. 只允许授权用户访问。

上面的两个选项可能不是你想要的,所以剩下的就是设置代理服务器了。

【讨论】:

  • 谢谢!这就是我的想法,您的工作流程步骤证实了我的想法。 localhost:8000/api/endpoint - 这可能只是一个 javascript 可执行文件?你能给我举个例子吗?
猜你喜欢
  • 2016-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 2017-04-26
  • 2019-07-13
  • 1970-01-01
相关资源
最近更新 更多