向Instagram重定向添加查询(错误:重定向URI与原始重定向URI不匹配)

时间:2018-06-06 18:01:27

标签: php laravel laravel-socialite

我使用 Laravel Socialite Providers 来使用Instagram API。尽管如此,它应该无缝地工作,但是当我尝试添加其他查询时,我仍然会收到错误:

  

"错误:重定向URI与原始重定向URI"

不匹配

什么有用

return Socialite::driver('instagram')
            ->redirectUrl(config('services.instagram.redirect'))
            ->redirect();

什么不起作用

return Socialite::driver('instagram')
        ->redirectUrl(config('services.instagram.redirect').'?type=reconnect')
        ->redirect();

对于我的情况,我只需要添加一个查询" type = reconnect",但它会导致错误。

让我们看一下我的网址:

什么有效(网址解码):

https://api.instagram.com/oauth/authorize?client_id=somenumber&redirect_uri=https://insta.test/login/instagram/callback&scope=basic&response_type=code&state=BN5XDInTtiRCsSUrHxwB9Ez5wnSDdUDjOmq595v1

什么不起作用

https://api.instagram.com/oauth/authorize?client_id=somenumber&redirect_uri=https://insta.test/login/instagram/callback?type=reconnect&scope=basic&response_type=code&state=bGa5BCb5QN7UPhmOoZThU5fgeLPPSqXik1JdlHkj

那么如何添加查询?

该文档明确表示您可以添加如下URI:(Doc

  

注册REDIRECTURI⠀⠀⠀⠀⠀⠀⠀⠀⠀REDIRECT_URI参数

     

http://yourcallback.com/callback⠀⠀⠀⠀⠀⠀⠀⠀http://yourcallback.com/callback?type=mobile

1 个答案:

答案 0 :(得分:1)

所以在对某些事情进行评论后,我发现网址编码正确,Instagram确实让我完成了文档的前两个步骤:

  1. 将您的用户定向到我们的授权网址 - >检查
  2. 从Instagram接收重定向 - >检查(我得到了代码)
  3. <强>但是

    1. 请求access_token - &gt;没用,因为我忘了将redirectUrl设置为第一步的URL!这意味着你应该这样设置:

      Socialite::driver('instagram')
           ->redirectUrl(config('services.instagram.redirect').'?type=reconnect')
           ->user();