简体   繁体   中英

Laravel 5.0 Socialite with Wunderlist

I've created a custom Provider for Laravel Socialite. The authentication part is going well until i'll try to call the user method.

Not sure what's going wrong. Method documentation at wunderlist

My code:

/**
 * {@inheritdoc}
 */
protected function getUserByToken($token)
{
    $response = $this->getHttpClient()->get('https://a.wunderlist.com/api/v1/users', [
        'X-Access-Token: ' . $token . ' X-Client-ID: ' . $this->clientId
    ]);

    return json_decode($response->getBody(), true);
}

I get the following error:

InvalidArgumentException in MessageFactory.php line 202:
allow_redirects must be true, false, or array

Do i miss things in the options array?

Jos

Actually socialite is not supposed to do something like this. But instead you may use Guzzle. There is a good video at laracasts. Just search for Easy HTTP Requests . And here's the code that you may use for guzzle:

$client = new \Guzzle\Service\Client('a.wunderlist.com/api/v1/');
$response = $client->get('user')->send();
// If you want this response in array:
$user = $response->json();

Just read the docs here.

When using this with straight forward curl there is no issue. As far as i can see the issue lies in the headers i'll parse.

The following solution is something i can live with, although it's not perfect.

$headers = array();
$headers[] = 'X-Access-Token: ' . $token;
$headers[] = 'X-Client-ID: ' . $this->clientId;
$response = $this->getHttpClient()->get('a.wunderlist.com/api/v1/user', [
        'config' => [
            'curl' => [
                CURLOPT_POST => 0,
                CURLOPT_HTTPHEADER => $headers,
                CURLOPT_RETURNTRANSFER => 1,
                CURLOPT_SSL_VERIFYPEER => false
            ]
        ]
    ]);
    return json_decode($response->getBody(), true);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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