예제 #1
0
<?php

require __DIR__ . '/../vendor/autoload.php';
$options = ['clientId' => '[consumer_key]', 'clientSecret' => '[consumer_secret]', 'redirectUri' => '[redirect_uri]'];
// Refresh token previously saved from authorization
$refreshToken = 'MTIzNDU2Nzg5MA==';
$provider = new rmartignoni\OAuth2\Client\Provider\Yahoo($options);
$grant = new League\OAuth2\Client\Grant\RefreshToken();
$token = $provider->getAccessToken($grant, ['refresh_token' => $refreshToken]);
echo json_decode($token);
예제 #2
0
<?php

session_start();
require __DIR__ . '/../vendor/autoload.php';
$options = ['clientId' => '[consumer_key]', 'redirectUri' => '[redirect_uri]'];
$provider = new rmartignoni\OAuth2\Client\Provider\Yahoo($options);
$authorizationUrl = $provider->getAuthorizationUrl();
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authorizationUrl);
예제 #3
0
<?php

session_start();
require __DIR__ . '/../vendor/autoload.php';
$state = isset($_GET['state']) ? $_GET['state'] : null;
$code = isset($_GET['code']) ? $_GET['code'] : null;
if (empty($state) || $state !== $_SESSION['oauth2state']) {
    unset($_SESSION['oauth2state']);
    die('Invalid state');
}
if (empty($code)) {
    die('Invalid code');
}
$options = ['clientId' => '[consumer_key]', 'clientSecret' => '[consumer_secret]', 'redirectUri' => '[redirect_uri]'];
$provider = new rmartignoni\OAuth2\Client\Provider\Yahoo($options);
$token = $provider->getAccessToken('authorization_code', ['code' => $code]);
echo json_decode($token);