Wpis z mikrobloga

#programowanie #wykopapi

Hej mirki, zacząłem implementować wykopapi do mojego małego projekciku #mirkolos https://mirkolos.pw
Plan jest taki aby zweryfkowac autora wpisu z dodanego linku z osoba aktualnie wykonujaca losowanie w inny sposob niz obecnie.

Jako ze wszystkie etapy przesylane sa ajaxem nie moge sobie pozwolic na przeladowanie strony uzywajac tego prostego kodu:

include('libs/Wapi.php');
$wapi = new libsWapi('KLUCZ', 'SEKRET');
echo 'Zaloguj';
if (!empty($
GET['connectData']))
{
$connectData = $wapi->handleConnectData();
vardump($connectData);
$result = $wapi->doRequest('user/login', array('login' => $connectData['login'], 'accountkey' => $connectData['token']));
var
dump($result);
// tu reszta po zalogowaniu
}

wiec wykombinowalem sposob, ale jest on bardzo wedlug mnie niepoprawny :). Weryfikacja przez wykopapi przez przekierowanie usera na nowa karte "_blank" pozniej automatyczny post przez ajax i zamkniecie karty i wyniki ajax success wrzucic do cookies, przeladowac div z cookeisami, sprawdzic i przejsc do nastepnego kroku.

Nie przedluzajac - czy jest jakas inna opcja sprawdzenia zalogowanego uzytkownika przez wykop api v1 czy v2 bez przeladowania?

(musze sprawdzic jeszcze iframe czy wrzucenie w div).
  • 12
  • Odpowiedz
@chinskiecuda: z tego co pamiętam to wykop po prostu przekazuje Ci parametr userkey w URLu redirect_url, więc zakładając że jest jakaś sesja wystarczy że podasz redirect url i po autoryzacji możesz sobie zweryfikować logowanie (zapisać userkey gdziekolwiek chcesz)
  • Odpowiedz
  • 0
@sokytsinolop tak zgadza się. Klucz jest w URLu. Moje pytanie jest zgola inne. Może zbyt skomplikowalem temat na starcie.

Czy weryfikacja musi się odbyć przez wejście usera w link weryfikacyjny? W dokumentacji znalazłem teraz info ze można przesłać login i hasło przez POST. Ale ta metoda zawsze mi zwracała błędny login lub hasło.

No i oczywiście wtedy użytkownik musiałby wpisać swoje hasło u mnie co mimo iż nie mam złych intencji
  • Odpowiedz
@sokytsinolop: Dzieki za odpowiedz i link. Czyli tak jak myslalem, trzeba sie wybrac z armatą na muchę :)

Myslę ze moglbym tez zrobic tak zeby nie przekierowywac uzytkownika na nowa stronę, tylko otwieralby sie iframe. Jquery robiloby .show() jesli w iframe pojawi sie zmiana i pobraloby zawartosc jakiegos selektora z iframe w ktorej bylby wynik weryfikacji - np true czy cokolwiek innego.

Po pobraniu value z selektora musialby byc trigger, ktory odswiezy np. div na stronie glownej gdzie wykona sie operacja sprawdzenia klucza i dalszy ciąg procedury wraz z przejsciem do kolejnego
  • Odpowiedz
@sokytsinolop:

Masz rację. Właśnie skończyłem, udało się bez wysyłania usera do nowej karty. Całkiem dobrze to działa i nawet wygląda :). Jeszcze parę drobnych szlifów, kod uporządkować i w weekend pewnie będzie już na stronie. Dzięki za wsparcie!
  • Odpowiedz
@sokytsinolop: jednak iframe :)

Klik w button i w iframe laduje sie plik php jako redirect zapytania z api wykopu lub strona zatwierdzenia polaczenia konta z aplikacja api.

JS sprawdza czy iframe sie zaladowal nastepnie próbuje pobrać div z nazwa zweryfikowanego uzytkownika. Jesli złapie błąd - oznacza to ze zaladowala sie strona wykopu do zaakceptowania połączenia usera z apką api ( cross site
  • Odpowiedz