Перейти к содержимому

Регистрация

Фотография

Помогите настроить авторизацию на сайте через login.wmtransfer.com

авторизация вход на сайт login.wmtransfer.com login webmoney

  • Пожалуйста, авторизуйтесь для ответа.
50 ответов в данной теме

#1 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 09 Февраль 2015 - 10:50

Всем здравия!

 

Настраиваю на своем сайте авторизацию через 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 параметра и путь к сертификату.

 

Запускаю скрипт и получаю в ответ: "Тикет ошибочный :("

Начинаю разбирать где я ошибся. 

// Отправляем запрос и получаем ответ
$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.wmtran...?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 дня маюсь, все перепроверил, все форумы прочитал, весь гугл илазил!

Памагитееееееее!!!!!!

 


denikos

    • 0
  • Наверх

#2 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 09 Февраль 2015 - 18:01

Здравствуйте.

А кодировка какая вашего файла-обработчика? Менять кодировку пробовали?


    • 0
  • Наверх

#3 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 09 Февраль 2015 - 18:12

Здравствуйте.

А кодировка какая вашего файла-обработчика? Менять кодировку пробовали?

А считаете, что кодировка может помочь? Все параметры работают, кроме одного. Кодировка UTF-8 без ВОМ


denikos

    • 0
  • Наверх

#4 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 10 Февраль 2015 - 00:30

У меня так же UTF-8 без BOM, но всё работает...

 

 

Хм, Вы по какой-то причине не получаете тип авторизации $_POST['WmLogin_AuthType']. Поэтому пихая пустое значение в <authType></authType> получаете ошибку авторизации.

 

Вот пример, но у меня имеется тип авторизации:

 

b4c82177a461a0522e7656a715f34d2c.jpeg


Сообщение отредактировал ^-^: 10 Февраль 2015 - 00:34

    • 0
  • Наверх

#5 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 10 Февраль 2015 - 07:00

Хм, Вы по какой-то причине не получаете тип авторизации $_POST['WmLogin_AuthType']. 

 

Это я тоже понял. Разобраться бы почему не получаю. Или выкинуть это поле нафиг из запроса. Мне кажется, что толку от этого поля мало.


denikos

    • 0
  • Наверх

#6 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 10 Февраль 2015 - 09:15

Все параметры обязательны ибо в случае, если уберёте любой, то Логин не сможет подтвердить авторизацию. Т.е. любой отправивший методом POST данные на Ваш сайт будет авторизован.

Попробуйте перенабрать или скопировать ещё раз эту строчку. Лучше перенаберите. Может там где-то русская буква влезла?
    • 0
  • Наверх

#7 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 10 Февраль 2015 - 14:04

Перенабрал значение 

".$_POST['WmLogin_AuthType']."

результата не возымело. К сожалению ((


denikos

    • 0
  • Наверх

#8 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 11 Февраль 2015 - 06:46

Может быть есть еще какие-то варианты решения?

В соседней теме у человека была такая же проблема. Дело была в кавычках, как я понял.

Я пробовал, ничего не вышло.


denikos

    • 0
  • Наверх

#9 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 12 Февраль 2015 - 07:01

Люди!!! Человеки!!!! Вопрос оооочень актуален! Задавайте вопросы, излагайте свои мысли. Может быть и сообразим все вместе.


denikos

    • 0
  • Наверх

#10 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 12 Февраль 2015 - 09:29

А в саппорт писали? Они что говорят?

Если помощи нет, тогда ещё на форуме cafe.owebmoney.ru попробуйте спросить.


    • 0
  • Наверх

#11 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 12 Февраль 2015 - 10:47

А в саппорт писали? Они что говорят?

Если помощи нет, тогда ещё на форуме cafe.owebmoney.ru попробуйте спросить.

В саппорт не писал. Я что-то не разобрался как туда писать.

На форуме продублировал: http://cafe.owebmone...ST&f=13&t=12144


denikos

    • 0
  • Наверх

#12 Новичок 605570177771 (WMID 605570177771 )

  • Группа: Пользователи
  • сообщений 2
  • Регистрация: 27-Сентябрь 12
  • Webmoney BL

Отправлено 12 Февраль 2015 - 17:52

Страница помощи http://owebmoney.ru/...les/login.shtml несколько устарела, и не охватывает все тонкости.

Актуальное описание форматов сообщения страницы аутентификации https://login.wmtran...g=WS_GateKeeper

Попробуйте указать режим совместимости V1.1 или V2.0 на странице https://login.wmtran....com/Realm.aspx


    • 1
  • Наверх

#13 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 12 Февраль 2015 - 18:35

Страница помощи http://owebmoney.ru/...les/login.shtml несколько устарела, и не охватывает все тонкости.

Актуальное описание форматов сообщения страницы аутентификации https://login.wmtran...g=WS_GateKeeper

Попробуйте указать режим совместимости V1.1 или V2.0 на странице https://login.wmtran....com/Realm.aspx

Актуальное описание форматов сообщения страницы аутентификации - я вдоль и поперек прочитал, ничего технического там нет.

Попробуйте указать режим совместимости V1.1 или V2.0 на странице - а что это за совместимость вообще? Где почитать?


denikos

    • 0
  • Наверх

#14 Пользователь 300584632018 (WMID 300584632018 )

  • Группа: Пользователи
  • сообщений 9
  • Регистрация: 09-Февраль 15
  • Webmoney BL

Отправлено 12 Февраль 2015 - 18:41

Твоюжмать! У меня других эмоций нет! Поставил Совместимость V10 и все заработало!!!!

Вопрос такой. Что это за совместимость-то? Где про нее написано подробнее?


denikos

    • 0
  • Наверх

#15 Новичок 605570177771 (WMID 605570177771 )

  • Группа: Пользователи
  • сообщений 2
  • Регистрация: 27-Сентябрь 12
  • Webmoney BL

Отправлено 13 Февраль 2015 - 11:31

Данная опция отвечает за формат ответа от http://login.wmtrans...GateKeeper.aspx

Почитать можно вот тут: https://login.wmtran...g=WS_GateKeeper


    • 1
  • Наверх

#16 Продвинутый пользователь 440361362557 (WMID 440361362557 )

  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-Март 16
  • Webmoney BL

Отправлено 14 Март 2016 - 00:19

Подскажите по аутентификации. Если сайт в кодировке 1251 и через сервис идет GET запрос с кириллицей, то содержимое поля искажается. Может у кого-то есть решение этого вопроса?


    • 0
  • Наверх

#17 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 14 Март 2016 - 01:06

iconv() - оно?


    • 0
  • Наверх

#18 Продвинутый пользователь 440361362557 (WMID 440361362557 )

  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-Март 16
  • Webmoney BL

Отправлено 14 Март 2016 - 03:43

в том то и дело что этот вариант не проходит :(. Смотрите - текстовом поле имеется русское слово, оно проходит через сервис аутентификации WMlogin и на выходе уже исковерканное. Причем кодировка там явно не УТФ. Пример - Имя "Василий" превращается в "пїЅпїЅпїЅпїЅпїЅпїЅпїЅ"


    • 0
  • Наверх

#19 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 016
  • Регистрация: 10-Сентябрь 13
  • Webmoney BL

Отправлено 14 Март 2016 - 10:20

Вы сами писали сайт или это какая-то CMS? Все файлы Вашего сайта в 1251? Вы самостоятельно меняли кодировку файла обработчика?
По поводу пї, но я не знаю, относится ли это конкретно к Вашему сайту.
    • 1
  • Наверх

#20 Продвинутый пользователь 440361362557 (WMID 440361362557 )

  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-Март 16
  • Webmoney BL

Отправлено 15 Март 2016 - 13:07

В общем вся причина была в кодировке. Перевел сайт в УТФ-8 и все стало на место. Спасибо за наводку!


    • 0
  • Наверх





Еще теги с одним или более ключевыми словами: авторизация, вход на сайт, login.wmtransfer.com, login webmoney