Closed CirruZZ closed 10 years ago
Jag gjorde precis en git clone och ändrade personnummer och lösenord i exempel-filen, men för mig fungerar det utan problem.
Kan du logga in med Personlig Kod via Swedbanks mobilapp? Uppkommer detta fel ibland eller hela tiden?
Du kan prova att leta upp följande på rad 227 i swedbankJson.php:
$output = $this->getRequest('profile/');
Och ersätt den med:
$output = $this->getRequest('profile/');
var_dump($output);
Kör exempel-filen igen och lägg upp svaret här.
Dubbelkolla så att du inte har något personnummer eller lösenord med i svaret.
Kom precis på en sak, när du skrev...
Kan du logga in med Personlig Kod via Swedbanks mobilapp?
Jag har ju faktiskt inte Swedbank utan Färsa & Frosa Sparbank, och när jag tänker efter så är det en annan app, som ser lika dan ut. https://play.google.com/store/apps/details?id=se.sparbankerna.mobilbank&hl=sv I övrigt så är det swedbank som gäller för mig när det är internetbanken, även mobilversionen av internetbanken.
Kan det vara så att det är en annan server för Sparbankerna men i övrigt lika?
Eftersom jag inte har någon tillgång till Färsa & Frosa Sparbank (eller någon annan sparbank med partnerskap med Swedbank för den delen) att tillgå till så kan jag inte säga något om vad som skiljer Swedbanks API mot Sparbankernas. De hör bara lika varandra eftersom som du säger delar mycket infrastruktur. Men faktum är att Sparbankerna är självständiga och fungerar som separata banker.
Men om du kan göra modifikationen ovan och skicka mig resultatet så tittar jag gärna på det och tar reda på vad som är fel. Eller så väntar du tills dess att jag har lagt in ett verktyg för debugging.
object(stdClass)#5 (3) {
["hasSwedbankProfile"]=>
bool(false)
["hasSavingbankProfile"]=>
bool(true)
["banks"]=>
array(0) {
}
}
Swedbank-fel: NÃ¥got med fel med profilsidan. (Err #5)
#0 /var/www/_bank/json/SwedbankJson/swedbankJson.php(185): SwedbankJson->profile()
#1 /var/www/_bank/json/SwedbankJson/swedbankJson.php(166): SwedbankJson->login()
#2 /var/www/_bank/json/SwedbankJson/swedbankJson.php(129): SwedbankJson->swedbankInit()
#3 /var/www/_bank/json/SwedbankJson/example.php(11): SwedbankJson->accountList()
#4 {main}
Nä det förståss, det förstår jag också att du inte kan veta det. Finns det något jag kan göra för att ta reda på hur det ligger till? Jag har inte användt WireShark tidigare men det kanske kan vara en väg? Hur har du gjort för att lista ut API't?
Humm, jag antar "hasSavingbankProfile" betyder att du har någon sparbank så som Färsa & Frosa Sparbank. Då har jag åtminstone ett sätt att skicka ett vettigt meddelande.
Jag använder mig av Charels Proxy med tillhörande SSL-cert för att kunna avlyssna trafiken medan jag använde appen. Om du vill kan du installera Charels Proxy och prova det i 30 dagar och följa denna guide för att avlyssna trafiken på en Andorid:
Själv sitter jag på en iPhone och använde mig av denna guide: http://blog.cloudfour.com/using-charles-proxy-to-examine-ios-apps/
Det är egentligen samma guide, skillnaden är hu man lägger in SSL certifikatet samt hur man ställer in HTTP-proxy:n.
Toppen, ska kolla på det. Får se om jag får ut något vettigt.
Så nu har jag det igång, kan se trafiken från appen, frågan är då vad jag skall leta efter.
Utmärkt. Dock så tror jag att det är bäst att jag kan får dump-filen eller åtminstone får skärmdumpar på transaktionerna. Efterlikna de skärmdumpar som jag har gjort nedan och sudda ut de uppgifter som du inte vill ska synas. Jag har ringat in de delar du ska trycka på för att få ut den vy som jag behöver för request respektive response.
Gör så att du
Tanken är alltså dels följa vilka anrop som görs samt hur anropen ser ut i både frågan och svaret.
Mall för request
Mall för response
Svarade dig via kontaktsidan som du kanske såg...
Precis. Tack för det! När jag får tid över i helgen så kommer jag och sitta med det.
Bara nyfiken om du hittade något uppenbart?
Jag har lyckas lista ut vad som styr om man vill in på Swedbank eller en Sparbank. Förenklat så är det auth-nyckeleln och hur den genereras som styr vilken bank man ska in på. Jag vet hur nycklarna ska genereras, men behöver dels skriva om en del kod för att det ska fungera och dels att samla in alla typer av ID-nummer som varje bank har. Man kan inte skapa dessa ID-nummer enligt en formel (vad jag vet) och därför måste jag manuellt samla in alla ID:n genom att i appen välja en bank, prova att logga in så att ID-numret fångas upp och sedan byta bank för att återupprepa processen. Beroende på om jag kan automatisera processen så kommer det att ta åtminstone en helg för att anpassa koden och bygga upp ett register, även om man kan till och börja med att lägga in två banker från början (dvs. Swedbank och Färsa & Frosa Sparbank).
Lysande, vad kul! Ser fram emot att testa när det funkar....
Nyfiken på om det finns något nytt att testa :-)
Det är på G, har bara haft svårt med tid på sistone pga. jobb och förberedelse för flytt. Men det kommer.
Absolut! Jag ska inte stresa.... Uppskattar att du tar dig tid och kollar på det över huvud taget. Tack!
Hej, jag är också intresserad av att få Sparbankerna att fungera. Någon nyhet i frågan?
Tyvärr har jag inte lagt ned den tid som jag behöver för att göra nödvändiga förändringar för att det ska fungera.
Tills vidare kan man göra följande:
Sätt unitID till i klassfilen: sHyQguyrmHzdpVqz
och byt ut useragent mot: SavingbankMOBPrivateIOS/3.7.0_(iOS;_7.1)_Apple/iPhone5,2
Har själv inte provat, men det bör fungera.
Hittade precis detta verktyg, verkar toppen. Men jag får följadnde fel...
Någon ide vad som kan vara fel? Har bara ändrat Pnr och lösen i example.php.