REACT 应用程序可以直接访问 imgur API 还是需要在服务器端完成?
Can a REACT App access the imgur API directly or does that need to be done server side?
我希望用户能够将图片上传到我网站的某个部分。我想用 imgur 存储这些图像。
基本上,我希望它像这样工作:
- 用户进入网站
- 点击“上传图片”
- 弹出一个带有提交按钮和“select 图片”按钮的模式
- 用户select上传图片并提交
- react 应用程序首先将图像转换为 base64
- 然后直接向imgur发送请求上传图片
- 然后它存储响应图像 id,然后向后端服务器发送一个请求,其中包括图像的 imgur id
- 为了显示图像,react 应用程序只是获取图像并构建一个 imgur url
但这需要我将授权 header 和 API 密钥直接存储在每个人都可以访问的应用程序中。那么是否可以安全地执行此操作,还是我需要先将图像发送到服务器并在那里处理上传?
使用 AWS,我按毫秒计费,这意味着我必须付费才能等待 imgur 请求。
为了允许客户端代表您上传到 Imgur,您需要公开您的客户端 ID(但不是您的客户端密码)。如果您公开 Client-ID,任何知道该信息的人都可以代表您的应用程序匿名上传(以及执行列出的所有其他匿名方法 here)。不幸的是,没有办法在客户端安全地保存客户端 ID,同时让客户端可以访问它来发出请求。
所以是的,很遗憾,您需要将图片上传到您的 API 以避免暴露任何内容。
我希望用户能够将图片上传到我网站的某个部分。我想用 imgur 存储这些图像。
基本上,我希望它像这样工作:
- 用户进入网站
- 点击“上传图片”
- 弹出一个带有提交按钮和“select 图片”按钮的模式
- 用户select上传图片并提交
- react 应用程序首先将图像转换为 base64
- 然后直接向imgur发送请求上传图片
- 然后它存储响应图像 id,然后向后端服务器发送一个请求,其中包括图像的 imgur id
- 为了显示图像,react 应用程序只是获取图像并构建一个 imgur url
但这需要我将授权 header 和 API 密钥直接存储在每个人都可以访问的应用程序中。那么是否可以安全地执行此操作,还是我需要先将图像发送到服务器并在那里处理上传?
使用 AWS,我按毫秒计费,这意味着我必须付费才能等待 imgur 请求。
为了允许客户端代表您上传到 Imgur,您需要公开您的客户端 ID(但不是您的客户端密码)。如果您公开 Client-ID,任何知道该信息的人都可以代表您的应用程序匿名上传(以及执行列出的所有其他匿名方法 here)。不幸的是,没有办法在客户端安全地保存客户端 ID,同时让客户端可以访问它来发出请求。
所以是的,很遗憾,您需要将图片上传到您的 API 以避免暴露任何内容。