WebMoney-кофейня
WebMoney TOP - только для лучших сайтов!Топик в форуме: Как пользоваться Keeper в Украине?
Поставить музыку в Кофейне:
Elvis Presley - My love
  ОтветитьНовая тема

> Помогите настроить авторизацию через Login
denikos
Post #1 (Отправлено: 12.02.2015 10:45)     Быстрое цитирование
Цитировать


Прохожий
*

Сообщений: 2
Регистрация: 12.02.2015
Всем здравия!

Настраиваю на своем сайте авторизацию через WebMoney
Пользуюсь статьей http://owebmoney.ru/...les/login.shtml
очень подробная инструкция, но у меня встала проблема с параметром "WmLogin_AuthType"

Подробно:
В самом начале появлялась проблема со сравнением 'WmLogin_UrlID']==$urlid, потом обнаружил, что urlid, который получил при регистрации на сайте Вебмани написан заглавными буквами, а WmLogin_UrlID система выдает маленькими. После недолгих мучений проблема была решена
IF(!$_POST['WmLogin_WMID']) {echo "Вы не авторизованы!<br>";
echo "<A href=https://login.wmtransfer.com/GateKeeper.aspx?RID=".$urlid."&lang=ru-RU>авторизоваться</A>";
} ELSE {
$testticket=preg_match('/^[a-zA-Z0-9\$\!\/]{32,48}$/i', $_POST['WmLogin_Ticket']);
if($_POST['WmLogin_UrlID']==$urlid && $testticket==1) {
echo "=== Тикет получен успешно === <br>";

В итоге: "=== Тикет получен успешно === <br>" идем дальше.
// Формируем запрос для проверки тикета


$xml="
<request>
<siteHolder>$mywmid</siteHolder>
<user>".$_POST['WmLogin_WMID']."</user>
<ticket>".$_POST['WmLogin_Ticket']."</ticket>
<urlId>$urlid</urlId>
<authType>".$_POST['WmLogin_AuthType']."</authType>
<userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
</request>
";
// Отправляем запрос и получаем ответ
$resxml=_GetAnswer($xml);
// Разбираем XML-ответ
$xmlres = simplexml_load_string($resxml);
if(!$xmlres) echo "Не получен XML-ответ";
$result=strval($xmlres->attributes()->retval);


// Если результат не равен 0 - прерываем и выдаем ошибку
if($result!=0) echo "Тикет ошибочный :(";
else {
echo "Тикет верный :) Вы авторизованы!<br>";
echo "Ваш WMID - ".$_POST['WmLogin_WMID']."<br>";

В ходе инструкции никаких изменений не требуется, кроме того, что изначально я подставил 3 своих параметра, которые мне выдала Система. Точнее 2 параметра и путь к сертификату.

Запускаю скрипт и получаю в ответ: "Тикет ошибочный sad.gif"
Начинаю разбирать где я ошибся.
// Отправляем запрос и получаем ответ
$resxml=_GetAnswer($xml);

работает. дальше.
$xmlres = simplexml_load_string($resxml);
if(!$xmlres) echo "Не получен XML-ответ";

Такого ответа я не получаю, значит $xmlres имеется в наличии
$result=strval($xmlres->attributes()->retval);
// Если результат не равен 0 - прерываем и выдаем ошибку
if($result!=0) echo "Тикет ошибочный :(";

Вывожу $result на экран и вижу: 1. https://login.wmtransfer.com/Help.aspx?slug=WS_Result говорит:
1 - Неверные аргументы
Вопрос! Почему? Идем дальше, проверяю состав xml запроса:
<request>
<siteHolder>$mywmid</siteHolder>
<user>".$_POST['WmLogin_WMID']."</user>
<ticket>".$_POST['WmLogin_Ticket']."</ticket>
<urlId>$urlid</urlId>
<authType>".$_POST['WmLogin_AuthType']."</authType>
<userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
</request>

вывожу на экран
print "WmLogin_WMID:&nbsp;".$_POST['WmLogin_WMID']."<br>";
print "WmLogin_Ticket:&nbsp;".$_POST['WmLogin_Ticket']."<br>";
print "WmLogin_AuthType:&nbsp;".$_POST['WmLogin_AuthType']."<br>";
print "WmLogin_UserAddress:&nbsp;".$_POST['WmLogin_UserAddress']."<br>";

Вижу на экране
WmLogin_WMID: 300584632018
WmLogin_Ticket: k9xW44TwK5hHLyo59j6DUGfypEfkA8uprEjWNruvS1DbC4nL
WmLogin_AuthType:
WmLogin_UserAddress: 178.90.110.125

WmLogin_AuthType: - а в ответ тишина.
Логично предположить, что login.webmoney не прислал мне его изначально, отчего xml запрос ушел неполным, ответ получен (проверено) пустой, $result!=0 и в результате:
echo "Тикет ошибочный :(";

РЕБЯТА!!!! ЛЮДИ ДОБРЫЕ!!!! вопрос к вам!
Где? Где я ошибся? Где накосячил?
2 дня маюсь, все перепроверил, все форумы прочитал, весь гугл илазил!
Памагитееееееее!!!!!!

P.S. Кодировка UTF-8 без ВОМ
Значение
".$_POST['WmLogin_AuthType']."
пробовал набирать вручную, проверял не затесалась ли русская буковка.


Написать приватное сообщениеНаписать по email
denikos
Post #2 (Отправлено: 12.02.2015 18:44)     Быстрое цитирование
Цитировать


Прохожий
*

Сообщений: 2
Регистрация: 12.02.2015
Вопрос был отвечен на форумеforum.webmoney.ru
Вопрос снимается


Написать приватное сообщениеНаписать по email
ZKolyaNZ
Post #3 (Отправлено: 11.05.2015 00:06)     Быстрое цитирование
Цитировать


Завсегдатай кофейни
**

Сообщений: 23
Регистрация: 10.05.2015
Откуда: Ukraine
Вдруг кому нужно будет, отпишите, на будущее*.
Помогу.


==================
Написать приватное сообщениеНаписать по emailВебсайтICQ
ibni
Post #4 (Отправлено: 31.01.2016 15:27)     Быстрое цитирование
Цитировать


Прохожий
*

Сообщений: 3
Регистрация: 31.01.2016
Можно мне исходник рабочего форма входа?


Написать приватное сообщениеНаписать по email
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции этого топика ОтветитьНовая тема

 





Powered by Invision Power Board © 2003 IPS, Inc.