3

从昨天开始,我一直在忙于 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',

);

控制器:

class ConnectController extends \BaseController {

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

抽搐应用设置:

抽搐设置

4

2 回答 2

1

你需要更新你的 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

于 2018-02-22T09:52:12.970 回答
0

您还需要在http://localhost:8000/twitch上初始化 Twitch JS sdk 。我不确定 Laravel 等,但在这种情况下,如果 Twitch 是这样初始化的,请尝试在该页面上添加 Twitch 类。

于 2015-03-09T16:32:39.533 回答