2015-09-14 7 views
0

Я хочу интегрировать API-интерфейс Foursquare на своем веб-сайте, но я не знаком с защитой API, поэтому я хочу убедиться, что я делаю это правильно.API-интерфейс Foursquare, раскрывающий секрет в javascript

Я хочу найти мест в области, как в документации говорится:

https://api.foursquare.com/v2/venues/search 
    ?client_id=CLIENT_ID 
    &client_secret=CLIENT_SECRET 
    &v=20130815 
    &ll=40.7,-74 
    &query=sushi 

Использование JavaScript Однако, я не чувствую себя комфортно, что клиент секрет подвергается в моем коде, как это, потому что если кто-то смотрит на моего источника они имеют client_id и client_secret, который позволяет аутентифицировать себя с моим кодом:

https://developer.foursquare.com/overview/auth

не то, что так же, как, «эй, посмотрите на мой исходный код, мое имя пользователя =» s omeusername ", а мой пароль -" somepassword "?

Не должен ли «client_secret» оставаться секретным, как он говорит? Или я смотрю на это неправильно?

+0

Эй вы нашли другой способ скрыть секрет, чем тот, который описан ниже (маршрутизация через API)? –

+0

Нет, я этого не делал. Не удалось найти лучший/безопасный способ, чем описанный ниже. – randomizer

+0

thx для обратной связи, мне ни то, ни другое :( –

ответ

0

Я думаю, что проблема заключается в том, что вы пытаетесь получить доступ к API Foursquare с помощью Javascript, который выполняется на стороне клиента, так что да, любой, кто использует ваш сайт, может с небольшим расследованием увидеть секретный ключ что вы используете, что вы определенно не хотите делать.

Способ обойти это не для доступа к API с помощью кода, который выполняется на стороне клиента. Независимо от того, на каком языке вы создаете веб-сайт на стороне сервера, должен быть код, который обращается к API (с использованием настроенных учетных данных аутентификации), а затем возвращает результаты вызова API остальной части кода.

В качестве альтернативы вы можете заставить пользователей пройти аутентификацию с помощью Foursquare и получить токен доступа, который затем можно использовать в пользовательских вызовах API, и не имеет значения, выполняются ли они на стороне клиента. Я думаю, что это соответствующая страница в документации для использования этого метода: https://developer.foursquare.com/overview/auth#access

+0

Thx, похоже, единственное решение действительно получить данные из моего API, однако это намного медленнее, чем прямое обращение к API. – randomizer

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

  • Нет связанных вопросов^_^