php - Twitch API redirect_mismatch

标签 php api laravel-4 twitch

我从昨天开始就忙于 Twitch API,有一个简单的身份验证工作,带有重定向 uri:

http://localhost:8000/redirect

现在我将重定向 uri 更改为:

http://localhost:8000/connect/twitch

它不再工作了。

我已经更改了 twitch 应用仪表板和请求中的 uri,但我仍然收到“Redirect_Mismatch”。

我做错了什么?

抽搐模型:

class Twitch{

    var $client;
    var $oauth_token;

    public function __construct($token = null)
    {
        $this->client = new GuzzleHttp\Client();

        if($token != null) $this->setOAuthToken($token);
    }

    public function retrieveOAuthToken($code)
    {
        $res = $this->client->post('https://api.twitch.tv/kraken/oauth2/token', [
            'body' => [
                'client_id'     => Config::get('twitch.client_id'),
                'client_secret' => Config::get('twitch.client_secret'),
                'grant_type'    => 'authorization_code',
                'redirect_uri'  => Config::get('twitch.redirect_uri'),
                'code'          => $code
            ],
            'verify'            => false
        ]);

        $result = json_decode($res->getBody());
        $this->oauth_token = $result->access_token;
    }
}

Laravel Twitch 配置文件:

return array(

    'client_id' => 'REMOVED',

    'client_secret' => 'REMOVED',

    'redirect_uri' => 'http://localhost:8000/twitch',

);

Controller :

class ConnectController extends \BaseController {

    public function twitch()
    {
        $twitch = new Twitch();
        $twitch->retrieveOAuthToken(Input::get('code'));
    }
}

Twitch 应用设置:

Twitch Settings

最佳答案

你需要更新你的 laravel 配置:

return array(
    'client_id' => 'REMOVED',
    'client_secret' => 'REMOVED',
    'redirect_uri' => 'http://localhost:8000/connect/twitch',
);

然后您通过 http://localhost:8000/connect/twitch 抽动重定向 URI .

如果 2 个 URL(Laravel 或 Twitch 设置)中的一个与另一个不同,您将拥有 Redirect_Mismatch

关于php - Twitch API redirect_mismatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28323717/

相关文章:

javascript - AJAX操作页面上的错误处理

json - 如何通过 Dart 使用方法和数据发布到外部 API

java - 处理无效 REST API 参数的内部 Java 代码最佳实践

php - 在 laravel 框架中使用数据库进行 session 存储

javascript - 拉拉维尔 4 : manipulating ajax data through controller

php - Laravel hasManyThrough 与非默认本地键的关系

javascript - 如何在 Laravel 的外部 js 文件中包含 csrf_token()?

javascript - 单击复选框后,addEventListener 不起作用

php - 在没有任何错误的情况下,我的查询未执行

c - 如何按名称杀死进程? (Win32 API)