#here-api #heremaps
#здесь-api #heremaps
Вопрос:
Ищете решение для использования ключа приложения Here Maps javascript map (https://developer.here.com/documentation/maps/3.1.20.0/api_reference/H.service .Platform.html ) безопасно при наличии нескольких поддоменов.
в настоящее время мы инициализируем карту следующим образом:
this.platform = new H.service.Platform({
apikey: 'XXXX',
useCIT: true,
useHTTPS: true
});
Служба Javascript Here maps запрашивает ключ api для аутентификации и выдает GET, когда ключ api указан правильно.
Одним из их методов безопасности является внесение в белый список, однако мы разрешаем нашим пользователям создавать поддомены, такие как xxx.example.com , при доступе к тому же веб-приложению.
Одним из вариантов безопасности HereMaps является следующее:
- с помощью опции Создайте доверенный домен для ваших учетных данных приложения (вставьте значения без протокола)
Этот параметр, похоже, не работает, потому что он не разрешает * (*.example.com ). Я отключил эту опцию, чтобы иметь возможность использовать сервис here maps, однако я бы предпочел добавить некоторую безопасность и не раскрывать напрямую наш идентификатор приложения..
Я не смог найти упоминания о поддержке oauth2 для службы javascript here maps. Итак, мои вопросы:
- Поддерживает ли here maps аутентификацию oauth2 для своего картографического сервиса javascript?
- Существуют ли другие варианты, кроме использования * для белых поддоменов?
- Есть ли способ, которым мы можем прокси-сервер наших поддоменов в наш основной домен. Я думал о Iframe, но это кажется громоздким, потому что мы взаимодействуем с картой?
- Может быть, лучший подход?
Заранее спасибо
Комментарии:
1. Я бы посоветовал вам добавить еще немного информации к вашему вопросу. Я понятия не имею, о чем вы говорите, и я предполагаю, что я не единственный. На что вы ссылаетесь на «Here Maps javascript». Где документация, особенно для упомянутого вами варианта? Что вы пробовали? С какими именно проблемами вы столкнулись?
2. Привет @wedi Я попытался прояснить вопрос
3. Что произойдет, если вы укажете просто
example.com
?4. @Tomas, если запрос от example.com (или www.example.com ), тогда GET будет принят. Однако запросы GET блокируются (ошибка авторизации), когда вы запрашиваете у xxx.example.com
5. Привет @BrianVelda, поддомен, использующий символ подстановки (*), не разрешен в безопасности белого списка. Вам нужно будет указать полное доменное имя.
Ответ №1:
Я думаю, что путь токенов — лучший вариант для вас. Я лично не использую эту услугу, но я нашел это https://developer.here.com/documentation/identity-access-management/dev_guide/topics/sdk.html#step-2-create-a-signature
Возможно, я ошибаюсь, но я понимаю, что это выглядит так:
- Пользователь запрашивает токен (для использования API со стороны клиента) у вашего серверной части.
- Вы создаете ключ подписи и подписи в своем бэкэнде, а затем отправляете запрос на создание токена
- затем вы можете вернуть этот токен на сторону клиента для пользователя.
Вопросы:
Что мешает мне создать токен на вашем сайте, а затем использовать его в другом месте?
Когда вы вносите в белый список домен, из которого собираетесь использовать запросы, если вы делаете это не с сервера, а со стороны клиента, как сервер может сказать, что он поступает из определенного домена?
Мне кажется, что все запросы перед переходом к сервису HERE должны проходить через ваш серверный интерфейс API, который определит, поступает ли запрос от предоставленного «интерфейса».
Комментарии:
1. Спасибо за ваше предложение, я согласен с вашим предложением, однако в документации here maps javascript не упоминается поддержка этой аутентификации. Я нашел кое-что о опции заголовка здесь: developer.here.com/documentation/maps/3.1.20.0/api_reference /. … Но я не смог найти только упоминание о сервисе H. Платформа — это то место, где вы инициализируете карту и ожидаете некоторой формы проверки (в нашем случае мы даем ключ api).
2. Я думаю, что их javascript нуждается в этом apikey (описанном как обязательный). Похоже, что для токена нет опций, потому что это должно быть подключено к вашему бэкэнду. Я думаю, вы могли бы создать токен в своем бэкэнде перед инициализацией javascript, а затем инициализировать map, прикрепив заголовки. Я не знаю, какие есть опции внутри их сервиса, но если вы могли бы установить, что вам всегда требуется токен, тогда раскрытие apikey не кажется проблемой. В любом случае я бы, конечно, связался с ними за некоторыми советами, если вы им заплатите. Я бы также спросил о первом вопросе, который я написал в своем ответе.
3. пожалуйста, напишите, когда вам удастся это выяснить. Мне интересно узнать обо всех этих проблемах с аутентификацией