2015-09-14 46 views
0

我想Foursquare的API在我的网站集成,但我没那么熟悉的API安全,所以我想确保我这样做是正确。Foursquare的API秘密暴露在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

是不是一样,“嗨,你看我的源代码,我的用户名=”小号omeusername“,我的密码是”somepassword“?

不应该“client_secret”守秘密像它说?或者我以错误的方式看待它?

+0

嘿,你找到另一种方式来隐藏这个秘密比下面描述(通的API路由)的人吗? –

+0

不,我没有。找不到比下面描述的更好/更安全的方式。 – randomizer

+0

THX的反馈,我既不是:( –

回答

0

我认为这个问题是,你试图访问使用JavaScript API Foursquare的,这是在客户端执行的,所以是的,任何人使用你的网站可以用调查的一点点,看到密钥你正在使用,这是你绝对不想做的事情。

的方式得到解决,是不是访问使用在客户端上执行代码的API。无论您在服务器端构建网站的语言应该是访问API的代码(使用您设置的身份验证凭据),然后将API调用的结果返回给代码的其余部分。

或者,您可以让用户使用Foursquare进行身份验证并获取访问令牌,然后您可以在用户特定的API调用中使用该令牌,并且在客户端执行这些访问令牌也无关紧要。我认为这是相关页面的文档中使用该方法:https://developer.foursquare.com/overview/auth#access

+0

THX,似乎唯一的解决方案确实是从我的API获取数据,但是,它是慢了很多这样的而不是直接调用API。 – randomizer