Аутентификация в yammer с использованием переполнения стека

Я пытаюсь пройти аутентификацию в Yammer с помощью PHP. Приложение зарегистрировано с основной информацией. У меня есть идентификатор клиента и секрет.

На странице входа я размещаю ссылку на https://www.yammer.com/dialog/oauth?client_id={} Myclientid&redirect = {страница на моем сервере}

Когда я нажимаю на ссылку, она переходит к аутентификации в Yammer, если я на ней подписан, она переходит на экран, где просит пользователя связать приложение с его учетной записью Yammer, если нет, то пока запрашивает имя пользователя и пароль, поэтому хорошо. Я разрешаю приложение.

Он перенаправляет туда, куда он предназначен, и я получаю параметр «code» в GET.

Затем я делаю запрос GET:

https://www.yammer.com/oauth2/access_token.json?client_id={} Myclientid&client_secret = {MySecret}&код = {код только что получил}

Проблема в том, что у меня есть только страница с сообщением об ошибке «Извините, но что-то пошло не так. Мы получили уведомление об этой проблеме, и вскоре мы рассмотрим ее».

Конечно, я не получаю никакого ответа или постоянного токена.

Если я поместил URL-адрес прямо в браузере, я получу те же результаты.

Есть идеи, что я делаю не так?

0

Решение

Я не вижу ничего плохого. Я только что сделал то же самое мгновение назад, и я получил свой жетон. Единственное, что я сделал по-другому, это то, что URL перенаправления https://www.yammer.com, как сказано в https://developer.yammer.com/v1.0/docs/test-token

Я сделал все шаги процесса в браузере.

0

Другие решения

Понял…

Это довольно странно, но сейчас работает. Он начал работать после того, как я изменил «URI перенаправления» на странице регистрации на https://www.yammer.com а затем вернуться к URI в моем веб-сервере. Странно, не правда ли?

Если кто-то найдет это полезным, я использовал этот код (этот код появляется на странице после процесса аутентификации):

$yammercode = $_GET["code"];

define("REDIRECT_URI", "http://" . $_SERVER['SERVER_NAME'] . $_SERVER["SCRIPT_NAME"]);
define("API_KEY", "{ my API key given by Yammer}");
define("API_SECRET", "{ my API secret }");

$params = array('client_id' => API_KEY,
'client_secret' => API_SECRET,
'code' => $yammercode);
$url = "https://www.yammer.com/oauth2/access_token.json?" . http_build_query($params);
$context = stream_context_create(array('http' => array('method' => 'GET')));
$response = file_get_contents($url, false, $context);

echo "Response: $url<br><br>$response<br><br>";

Теперь я могу извлечь токен доступа из переменной $ response.

0

По вопросам рекламы [email protected]