авторизация на сайте через мейл.ру

Discussion in 'PHP' started by mazaxaka, 6 Jul 2013.

  1. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    мучаюсь второй день. не могу не как авторизироватся на сайте через мейл.ру

    есть игра _townwars.ru
    цель. зарегатся через мейл.ру либо просто зарегатся а потом привзать ак мейл.ру
    собствено код привязки, язык перл


    пояснение
    с сайта игры видераем некий ркод
    далее идет по сылке на мейл. водим мыло\пас
    возвращает страницу игры что неверные параметры.
    уже раз 150 все переснифал.все совпадает
    помогите....
     
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    http://api.mail.ru/sites/ тут не искал?
     
  3. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    искал там. не нашел авторизацию или разрешение доступа приложению. да вродевсе просто 2 переменые. но не работает почемуто
     
  4. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    есть у когото какието соображения? а то еще 2 дня промучался так и не получилось
     
  5. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Там что авторизация без кук?
     
  6. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    с.куки включены и сохраняются
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    perl ничем помочь не могу, выводи отладочные сообщения в процессе авторизации и смотри где и на что ругается, логируй все.
     
    1 person likes this.
  8. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Хз. У меня все работает.
    http://pastebin.com/SJhsE81F
     
    #8 LStr1ke, 9 Jul 2013
    Last edited: 9 Jul 2013
  9. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    всеравно не хочет привязывать. в ответ "не верный ответ"

    Code:
    $resp = $ua->get("http://www.townwars.ru/Game/#m=Character&op=Settings&mode=social")->as_string;
                          my ($rc) = $resp =~ /rcode%3D(.+?)%26/;
                          
                          print "rcod = $rc\n";
                          
             	 my $redirect_uri = "http://www.townwars.ru/Character/joinSocial/?rcode=$rc";
                     my ($user_login, $user_domain) = split '@' => $mail;
           
           
           
           my $resp = $ua->get('http://connect.mail.ru/oauth/authorize?response_type=code&client_id='. $app_id .'&redirect_uri='. $redirect_uri .'&origin=1&display=popup&ajax=2',
    					Referer => 'http://townwars.ru/Game/',
    				)->as_string;
    				
    				wf("1.html",$resp); 
    				
    my ($sig) = $resp =~ /sig=(.+?)&/;
    
    $resp = $ua->post('https://auth.mail.ru/cgi-bin/auth',
    	[
    		"Page" => 'https://connect.mail.ru/oauth/authorize?response_type=code&client_id='. $app_id .'&login=1&display=popup&sig='. $sig .'&redirect_uri='. $redirect_uri,
    		"FailPage" => 'https://connect.mail.ru/oauth/authorize?response_type=code&client_id='. $app_id. '&display=popup&sig='. $sig .'&redirect_uri='. $redirect_uri.'&fail=1',
    		"Domain" => $user_domain,
    		"Login" => $user_login,
    		"Password" => $pass,
    	],
    	Referer => 'https://connect.mail.ru/oauth/authorize?response_type=code&client_id='. $app_id .'&redirect_uri='. $redirect_uri .'&origin=1&display=popup&ajax=2',
    )->as_string;
    
    wf("2.html",$resp); 
    
    my ($success_url) = $resp =~ /url=(.+?)\"/;
    
    print "sil = $success_url\n";
    
    wf("3.html",$success_url); 
    
    $ua->requests_redirectable([ ]);
    
    $resp = $ua->get( $success_url,
    	Referer => 'https://auth.mail.ru/cgi-bin/auth',
    )->as_string;
    
    wf("4.html",$resp);
    
    print $resp->headers()->as_string;