Автоматически получать подписанный токен запроса - PullRequest
0 голосов
/ 15 февраля 2012

Насколько я понимаю OAuth, поток выглядит так:

  1. Получить токен неподписанного запроса
  2. Получить подписанный токен запроса, получив авторизацию пользователя
  3. Получить токен доступа

Я хотел бы использовать php curl для автоматического получения подписанного токена запроса.Получив токен запроса без знака, я хотел бы, чтобы функция перешла на URL авторизации, выполнила вход и вернула авторизованный токен запроса.В основном имитирует базовую авторизацию с именем пользователя и паролем.Возможно ли это?

Я понимаю, что это не может быть общим решением, поскольку постданные curl должны быть специфичными для сайта.

Спасибо

Вот некоторый код иНадеюсь, это поможет показать вам, что я пытаюсь сделать.

function login($username, $password) {
    $url = 'https://www.scoop.it/oauth/authorize?' . http_build_query(array('oauth_token' => $requestToken['oauth_token'], 'oauth_callback' => $callbackurl));

    $postdata = "email=".$username."&password=".$password; 

    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);   
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);


    $response = curl_exec($ch)
    curl_close ($ch);
}

1 Ответ

0 голосов
/ 16 февраля 2012

Ваш сценарий должен:

  1. получить токен неавторизованного запроса
  2. перенаправить пользователя на URL авторизации с токеном и URL обратного вызова

Youуже выполненный шаг 1;получение токена доступа.Теперь вы должны указать браузеру пользователя перенаправить на URL авторизации.

header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$AUTHORIZE_URL_WITH_TOKEN);

И помните, что вам нужно отправить все заголовки до того, как произойдет первый print() или echo().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...