0
const CLIENT_ID              = '....';
const CLIENT_SECRET          = '';
const REDIRECT_URI           = 'http://localhost/myappli/web/app_dev.php/';
const AUTHORIZATION_ENDPOINT = 'http://example.com/';
const TOKEN_ENDPOINT         = 'http://example/index.php5/oauth/access_token';


/**
 * Connexion to API
 *
 * @return response
 */
public function connexionAction()
{
    $client = new Client(self::CLIENT_ID, self::CLIENT_SECRET);

    if (!isset($_GET['code']))
    {
        $authUrl = $client->getAuthenticationUrl(self::AUTHORIZATION_ENDPOINT, self::REDIRECT_URI);
        return $this->redirect($authUrl);
    }
    else
    {
        $params = array('code' => $_GET['code'], 'redirect_uri' => self::REDIRECT_URI);

        $infosConnexion = $client->getAccessToken(self::TOKEN_ENDPOINT, 'authorization_code', $params);
        $accessToken = $infosConnexion['result']['access_token'];
        $client->setAccessToken($accessToken);

        $response = $client->fetch('http://example/index.php5/api/v3/user/infos');
        //var_dump($response);exit;
    }
}

这是我使用 oauth2 连接到其他应用程序的代码,access_token以便使用它连接到 API。

但问题是在验证后我没有被重定向到我的应用程序(“ http://localhost/myappli/web/app_dev.php/”)。

那么如何重定向到我的应用程序以获取access_token?

4

1 回答 1

1

您是否在应用程序设置页面中提供了相同的重定向 uri?如果您指定您的应用程序(应用程序类型,如 facebook、twitter 等),我可以以更好的方式帮助您。

于 2013-09-24T10:05:00.860 回答