繁体   English   中英

如何在不安全协议的 instagram 基本显示中设置 redirect_uri

[英]how to set redirect_uri in instagram basic display on a insecure protocol

我正在尝试按照文档获取 instagram 用户个人资料信息和使用 laravel 的提要。 我无法在 http://localhost:8000/callback_address 上设置 redirect_uri 参数。 如果我这样做,我会收到以下消息:

{
    "error_type": "OAuthException",
    "code": 400,
    "error_message": "Invalid redirect_uri"
}

我试图将它添加到 facebook 开发者控制台中有效的 OAuth 重定向 URI,但我收到一条错误消息,指出我应该使用 HTTPS。 我也尝试使用社交名流,但我遇到了同样的错误。 奇怪的是,Facebook OAuth 接受 http 重定向 uri 地址(默认情况下,无需在开发者控制台中编写),但不接受 Instagram Basic Display。

这是产生上述错误的重定向语句:

return redirect('https://api.instagram.com/oauth/authorize?client_id={my-client-id}&redirect_uri=https://localhost:8000/login/instagrambasic/callback&scope=user_profile,user_media&response_type=code')

我应该在开发中使用 HTTP 协议,知道吗? 我已经坚持了一天,我的眼睛在流血。

您可能只需要urlencode()重定向 URI。 尝试这样的事情:

$query_data = array(
    'client_id' => '{my-client-id}',
    'redirect_uri' => 'https://localhost:8000/login/instagrambasic/callback',
    'scope' => 'user_profile,user_media',
    'response_type' => 'code'
);

$url = sprintf('https://api.instagram.com/oauth/authorize?%s', http_build_query($query_data);

return redirect($uri);

如果您正在使用 Socialite,这将为您完成,但请确保您使用socialiteproviders/instagram-basic包而不是旧的socialiteproviders/instagram包,因为这是不再支持的 API v1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM