Прямая передача подписи бэкенда на основе node.js и oss

Node.js задняя часть внешний интерфейс модульный тест
Прямая передача подписи бэкенда на основе node.js и oss

оригинал:GitHub.com/Думая об IProduction/OS…

Страница загрузки одного изображения, отображение предварительного просмотра изображения после загрузки

Сервер Alibaba Cloud OSS будет загружаться сразу после подписания

Все мы знаем, что при использовании прямой подписи на стороне клиента JS OSSAccessId и AccessKeySecret отображаются на странице внешнего интерфейса и могут быть легко получены, что создает серьезные риски для безопасности. Вот способ избежать этой опасности, используя подпись на стороне сервера Alibaba Cloud OSS и прямую загрузку. Поскольку документация по разработке Alibaba Cloud OSS содержит примеры только на языках Java, PHP, Python и Go, в этой демонстрации представлен пример с Node.js в качестве серверной части для справки.


Логика запроса:

  1. Когда клиент хочет загрузить изображение, он обращается к серверу приложений, чтобы получить загруженную политику и подпись.
  2. Сервер приложений возвращает политику загрузки и подпись
  3. После того, как клиент получает подпись, он напрямую загружает ее в OSS.

В настоящее время поддерживается

Браузеры Chrome, Firefox и другие браузеры не были полностью протестированы. После тестирования вы можете оставить отзыв в разделе "Вопросы".

использовать

Настроить OSS

  1. Перейдите в Консоль управления облачным сервисом Alibaba --> OSS объектного хранилища.
  2. Новое ведро
  3. Свойства корзины --> Междоменные настройки:

Проверьте свой AccessKey

Нажмите «Показать», и появится окно подтверждения по SMS.После подтверждения отобразится ваш AccessKeySecret.

файл конфигурации бэкенда

backend/src/config/development/app.js

module.exports = {
  port: 3602,
  oss: {
    OSSAccessKeyId: '【这里填你阿里云的Access Key ID】',
    secret: '【这里填你阿里云的Access Key Secret】',
    host: 'http://cqq.oss-cn-shenzhen.aliyuncs.com' //改为你自己阿里云OSS的外网域名
  }
}

Как запустить это демо?

  • Бэкенд: бэкенд-каталог
npm install
npm start
  • Внешний интерфейс: веб-каталог
npm install
npm run dev

стек технологий

Добро пожаловать в Start, добро пожаловать в Pull Requests