我试图让Live委托身份validation工作,以阅读电子邮件地址的目的。
Iam使用windowslivelogin库在PHP中执行此操作。 问题是我得到一个错误。
我不知道我做错了什么,我在Azure网页上注册了我的应用程序,并获得了代码中的appid和秘密。 这是我用来初始化实时库:
$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()
而我login后,它发回2件事情,$ _POST ['stoken']和$ _POST ['行动']。 只要我调用$ this-> LiveLibrary-> processLogin($ _ REQUEST); 它会失败并返回令牌无效的错误。
我尝试通过redirect到$ this-> LiveLibrary-> getConsentUrl(“Contacts.View”)来立即获得Consent。
但这给了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.
Iam使用由库生成的以下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&应用程式= APPID%3D000000004801B670%26ts%3D1251722931%26sig%3DD2gkM%252F%252FwlRXXfS64NMrV%252Bkt50v6dAOcESblfRk7j%252FUE%253D
我不明白微软在这个东西上的大部分文件,我认为它真的不清楚和混乱。 另外我试过的样品不起作用。 我收到一条错误消息,它不能validation/解码令牌。 同样我得到当我尝试processLogin()。
提前致谢,
迈克尔