2016-04-01 1 views
0

Я запустил 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 к веб-сайту моего клиента, но я думаю, что он все еще может быть подделан с помощью завитка или злого пользователя, написание собственного кода запроса.

ответ

0

Вот мое решение проблемы: «Открытый ключ», который имеет белые списки RequestDetails.

в моей ситуации requestDetails содержит URL-адрес, поэтому я дам пользователям белые списки, которым они хотят, чтобы их public-key имел доступ.

Смежные вопросы