У меня есть node.js
сервер, который получает POST request
, выполняет бизнес-логику, подготавливает URL с параметрами запроса и перенаправляет на return_url
module.exports = (req, res, next) => {
// some business logic here
const url = `${req.body.return_url}?param1=${param1}¶m2={param2}`
return res.redirect(301, url);
}
Итак, для моей службы return_url
- это требуется тело параметр и я в порядке
НО.Есть некоторые API сервисов, которые имеют ту же логику, но они также имеют эту функцию:
Вы должны вставить свой return_url
в личном / торговом аккаунте, который будет сохранен в базе данных сервиса
Сейчас return_url
является необязательным параметром , но вы также можете включить return_url
в тело POST request
, и сервис будетперенаправить на предоставленный return_url
в body params
Таким образом, это означает, что служба переходит в базу данных (кэш) для получения return_url
.Я думаю, что это дополнительное действие для меня как разработчика (и для пользователя / клиента).Да, я думаю, что это бесполезный случай, потому что вы должны помнить, что return_url
вы указали в личном / торговом аккаунте, если что-то пойдет не так.
Наверное, я пропустил что-то важное, возможно, что-то о безопасности
Итак, мой вопрос: Почему некоторые службы позволяют пользователям указывать return_url
в своих личных / торговых учетных записях, а не просто получать return_url
из POST request
и перенаправлять на него?
UPD.Просто добавьте ссылки с помощью Amazon Pay return_url
https://pay.amazon.com/us/developer/documentation/express/201737790 https://pay.amazon.com/us/developer/documentation/express/201737820
Paypal return_url
https://www.youtube.com/watch?v=o_i955s-iq8