2012-05-28 25 views
2

是否有任何方法可以将自定义参数传递给Foursquare,它将传递回它的响应?Foursquare身份验证,传递自定义参数

Facebook可以使用状态参数传递的自定义参数:

https://www.facebook.com/dialog/oauth? 
    client_id=YOUR_APP_ID 
    &redirect_uri=YOUR_REDIRECT_URI 
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES 
    &state=SOME_ARBITRARY_BUT_UNIQUE_STRING 

的状态参数应设置为您唯一生成每个认证请求一些任意字符串。一旦用户授权您的应用程序,该值将作为参数传回给您的redirect_uri,并且您应该检查返回值是否与您在流程开始时传入的值匹配。这通过确保传入重定向是您启动的身份验证流程的一部分来防范跨站请求伪造。

Google也有状态参数:

状态
任何字符串
表示这可能是收到回应的应用程序有用的任何状态。 Google授权服务器往返于此参数,因此您的应用程序会收到它发送的相同值。可能的用途包括将用户重定向到您站点中正确的资源,随机数和跨站点请求伪造缓解。

这对使用Foursquare也是非常有帮助的。

+0

看起来你可以在Foursquare中传递状态参数我将把这个问题留作参考,因为在Foursquare API文档中没有提及它。 – fzf

回答

1

您可以在redirect_uri中指定不属于注册回调URL的其他URL参数,它们将在成功授权后通过。

+0

很高兴在文档(dev.foursquare.com)中看到这一点。我没有看到任何提及。 – maxdec