Я запустил SaaS, у которого есть конечная точка webservice для оплаты, которая возвращает изображения.SaaS Webservice Интеграция с браузером: как защитить клиента ApiKey и разрешить им встраивать запросы на свою веб-страницу?
конечная точка имеет такой вид: http://[SaaSWebsite]/API/[ApiKey]/[RequestDetails]
Некоторые из моих клиентов хотели бы интегрировать службу непосредственно в HTML своего веб-сайта, так когда пользователь посещает страницу, браузер пользователя напрямую обращается к моей конечной точке webservice.
Например, веб-страница моего клиента может иметь что-то вроде:
<html>
<body>
Hello User, your important pic is:
<img src="http://mysaaswebsite.com/api/superSecretApiKey/user-request-details">
<body>
</html>
Злой пользователь может извлечь superSecretApiKey
и использовать свои SaaS и мой реальный клиент будет платить за их использование.
Как я могу разрешить это, не раскрывая ApiKey моего клиента (который используется для выставления счетов) конечному пользователю?
Я думал об использовании HTTP-заголовка referer
, чтобы ограничить доступ ApiKey к веб-сайту моего клиента, но я думаю, что он все еще может быть подделан с помощью завитка или злого пользователя, написание собственного кода запроса.