在this url,Facebook解释了如何使用Facebook Connect进行身份验证。如何在没有HTTP重定向的情况下获得新的“授权码”?
基本上,步骤如下:
重定向至Facebook为例。因此,我会得到一个授权码
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
做一个HTTP邮寄到以下地址,要求为的access_token
https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE
Facebook将回答最后一个带有access_token的HTTP帖子。精细。
的的access_token上述接收到期。它将继续有效的秒数与access_token一起返回。好。
问题是:过期后该怎么办?
来自Facebook公报网站:
除了访问令牌(该参数的access_token),响应中包含的秒数,直到令牌过期(在到期参数)。一旦令牌到期,您将需要重新运行上述步骤以生成新代码并访问令牌
等待!我无法重新执行上述步骤,因为为了获得新的授权码,我必须重定向(步骤1)。我不想重定向。我想通过网络服务获得新的授权码。用户已经授权我的申请,我再也没有机会重定向他或她。
我该怎么办?
PS:从逻辑上思考,access_token过期后我不需要获得新的授权码。一个新的access_token就足够了。但是,正如我所展示的,Facebook说授权码也到期了。
我觉得问题应该是 “如何在没有HTTP重定向的情况下获得新的'访问令牌'?” “访问令牌”而不是“授权码” – Carmela 2017-09-18 10:15:48