我使用 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
答案 0 :(得分:1)
所以在对某些事情进行评论后,我发现网址编码正确,Instagram确实让我完成了文档的前两个步骤:
<强>但是强>
请求access_token - &gt;没用,因为我忘了将redirectUrl设置为第一步的URL!这意味着你应该这样设置:
Socialite::driver('instagram')
->redirectUrl(config('services.instagram.redirect').'?type=reconnect')
->user();