Не удается заставить "Live Delegated Authentication" работать - PullRequest
2 голосов
/ 31 августа 2009

Я пытаюсь заставить Live Delegated Authentication работать с целью чтения адресов электронной почты.

Я делаю это в PHP с помощью библиотеки windowslivelogin. Проблема в том, что я получаю ошибку.

Я не уверен, что делаю неправильно, я зарегистрировал свое приложение на веб-странице Azure и получил appid и секретный код в коде. Это то, что я использую для инициализации Live Library:

$o = new WindowsLiveLogin();
$o->setAppId('000000004801B670');
$o->setSecret('secret');
$o->setSecurityAlgorithm('wsignin1.0');
$o->setDebug(true);
$o->setPolicyUrl('http://www.google.com/aides.html');
$o->setReturnUrl("http://michaelp.dev.gamepoint.net/framework/mainsite/contactimporter/?service=live");
return $o;

тогда я вызываю $ this-> LiveLibrary-> getLoginUrl ()
И после того, как я войду в Live, он отправляет 2 вещи назад, $ _POST ['stoken'] и $ _POST ['action']. Как только я позвоню $ this-> LiveLibrary-> processLogin ($ _ REQUEST); он терпит неудачу и возвращает ошибку, что токен недействителен.

Я попытался сразу получить согласие, перенаправив на $ This-> LiveLibrary-> getConsentUrl ( "Contacts.View");

но это дает ошибку 3007 и говорит, что не может поделиться информацией

According to MS this means the following : 

3007


Consent Service API failed in the <method name> method. The application verifier is invalid.


The offer security level requires that a valid application verifier be passed with the request.

Я использую следующий URL, сгенерированный библиотекой

https://consent.live.com/Delegation.aspx?ps=Contacts.Invite&ru=http%3A%2F%2Fmichaelp.dev.gamepoint.net%2Fframework%2Fmainsite%2Fcontactimporter%2F%3Fservice%3Dlive&pl=http%3A%2F%2Fwww.google.com%2Faides.html&app=appid%3D000000004801B670%26ts%3D1251722931%26sig%3DD2gkM%252F%252FwlRXXfS64NMrV%252Bkt50v6dAOcESblfRk7j%252FUE%253D

Я не понимаю большую часть документации, имеющейся у Microsoft по этому поводу, я думаю, что она действительно неясна и хаотична. Также образец, который я попробовал, не работает. Я получаю сообщение об ошибке, он не может проверить / декодировать токен. То же самое я получаю, когда пытаюсь выполнить processLogin ().

Заранее спасибо,

Michael

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