我想在我的网站中集成foursquare API,但我不熟悉API安全性,所以我想确保我做得对。
我想搜索区域内的场地,例如文档:
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,这样就可以使用我的代码验证自己:< / p>
https://developer.foursquare.com/overview/auth
不一样,“嘿,看看我的源代码,我的用户名=”someusername“,我的密码是”somepassword“?
“client_secret”不应该保持秘密吗?或者我是以错误的方式看待它?
答案 0 :(得分:0)
我认为问题在于您尝试使用Javascript访问Foursquare API,这是在客户端执行的,所以是的,任何使用您网站的人都可以通过一些调查来查看秘密您正在使用的密钥,这是您绝对不想做的事情。
解决这个问题的方法是不使用在客户端执行的代码来访问API。无论您在服务器端构建网站的语言应该是访问API的代码(使用您已设置的身份验证凭据),然后将API调用的结果返回到其余代码。
或者,您可以让用户使用Foursquare进行身份验证并获取访问令牌,然后您可以在特定于用户的API调用中使用该令牌,如果这些调用在客户端执行,则无关紧要。我认为这是使用该方法的文档中的相关页面:https://developer.foursquare.com/overview/auth#access