Php OAuth回调进入循环

Php OAuth回调进入循环,php,oauth,etrade-api,Php,Oauth,Etrade Api,我正在尝试使用OAuth使用ETrade API对我的应用程序进行身份验证。将浏览器重定向到ETrade以便用户进行身份验证后,回调URL与用户开始的页面相同(我返回到同一页面以完成身份验证)。但是,一旦重定向回同一页面,将再次重定向到ETrade。我该如何做才能使应用程序不被重定向,而是完成身份验证?谢谢 PHP: 以下是API供参考:如果您的etrade回调配置正确,您应该在查询字符串中获得oauth\u验证器 您应该能够捕获oauth\u验证器查询字符串元素存在并具有值 请参阅etrade

我正在尝试使用OAuth使用ETrade API对我的应用程序进行身份验证。将浏览器重定向到ETrade以便用户进行身份验证后,回调URL与用户开始的页面相同(我返回到同一页面以完成身份验证)。但是,一旦重定向回同一页面,将再次重定向到ETrade。我该如何做才能使应用程序不被重定向,而是完成身份验证?谢谢

PHP:


以下是API供参考:

如果您的etrade回调配置正确,您应该在查询字符串中获得
oauth\u验证器

您应该能够捕获
oauth\u验证器
查询字符串元素存在并具有值


请参阅etrade PDF第16页中有关其API的内容。

问题在于,当回调到来并运行此函数时,它永远不会到达末尾的if语句,因为您设置了一个标头。试试这个

if(isset($_GET['oauth_verifier'])) {
  $verifierCode = trim($_GET['oauth_verifier']);
  echo $verifierCode;
  $accessCode = GetAccessToken($verifierCode);
}else{
  header('Location: '.$authURL); 
}

他正在捕获oauth_验证器,但他的逻辑不正确,因为他在捕获它之前设置了一个头位置。看看我的答案。
if(isset($_GET['oauth_verifier'])) {
  $verifierCode = trim($_GET['oauth_verifier']);
  echo $verifierCode;
  $accessCode = GetAccessToken($verifierCode);
}else{
  header('Location: '.$authURL); 
}