我是Oauth2认证流程的新手,我有点卡住,因为我想使用Zend Framework OAuth模块连接到Box.com API。
我找到了connect to an Oauth service with zend framework的一个例子,我已经在youtube上关于oauth服务的一些教程,以及我最初理解为什么我已经理解了连接到授权过程(与client_id响应url,response_type设置为“code”)。这就是我从教程中学到的东西。但是在www.box.com网站的开发者部分,有一个奇怪的参数可以进行GET调用并尝试授权应用程序访问用户内容:
https://www.box.com/api/oauth2/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&state=security_token%3DKnhMJatFipTAnM0nHlZA
参数“state”必须使用有关应用程序的信息进行更新,或者必须保留在online tutorial中?我有点困惑。
答案 0 :(得分:1)
state
参数是可选的。它旨在为您的应用程序提供额外的安全层。
考虑OAuth工作流程:
您在步骤 1 中发送给Box的state
会在步骤 3 中通过Box发送回您的应用程序。您的应用程序可以比较这些值,以验证步骤 3 中的Box重定向是否源自您的应用程序发出的请求。
state
可以是任意字符串。选择一些长度的随机字符串。应为每个新OAuth请求生成新值(即,步骤 1 ),因为它旨在为特定用户标识单个OAuth周期。
这有意义吗?