St00mwals schreef op dinsdag 23 december 2014 @ 15:33:
[...]
Nu ben ik dus echt geen (app) programmeur, dus bij voorbaat sorry
Hoe doe je dat met de gebruikersnaam en wachtwoorden?
Ik ben zelf nogal huiverig voor third-party tools vanwege mogelijk lekken inloggegevens. Maar aangezien er door derden hele leuke tools gemaakt worden (waaronder die verbruik apps van jou), wil ik het wel een keer aan gaan beginnen.
Je hebt groot gelijk dat je het niet vertrouwd; er was (een half jaar geleden) ook sprake van misbruik;
Een third-party programmeur had een soortgelijk tooltje gemaakt, maar die verzond de wachtwoorden ook vrolijk naar zijn eigen server - die app was feitelijk een honeycave om aan usernames / wachtwoorden te komen.
MS heeft vrij snel ingegrepen en daarna de app verwijderd en die gast de toegang tot de store ontzegt...
In mijn geval is het "natuurlijk" wel veilig

Maar juist om die reden heb ik een optie ingebouwd, zodat je exact kan zien wat er op de achtergrond gebeurd;
Als je de app opstart, kan je naar het tabblad "debug" navigeren en daar de debugger aanzetten... dan zie je exact wat er gebeurd;
1) Er wordt een browser-element ingeladen.
2) Die browser opent de standaard (https) inlogpagina van je provider (net als je normaal zou doen).
3) Je username / password worden rechtstreek "in" het formulier van de provider geschoten.
4) Er wordt automatisch op de "submit" button geklikt (waardoor je een inlogpoging triggert).
5) Als alles klopt, ben je ingelogd...
6) Vervolgens haal ik via data- / DOM analyse de gegevens binnen en toon die in de app.
Dus feitelijk gebruik ik een eenvoudig macro-script die het handmatig inloggen via de browser automatiseert, geen idee hoe anderen dan doen (als er een API is, is het makkelijk - maar ik kan je gegevens op geen enkele manier posten naar de provider - behalve via de omweg zoals hierboven beschreven).
Natuurlijk moet je mij maar vertrouwen op mijn blauwe ogen (die zijn bruin trouwens), maar anders kan je bv. via Fiddler een proxy opzetten en dan de app draaien via die proxy; dan zie je exact al het netwerk verkeer en zie je ook dat alles direct via https naar je provider gaat, en niet via omwegen.
Het enige netwerkverkeer dat via mijn server gaat, is een tracking-scriptje waarmee ik (anoniem!) het gebruik van de app kan monitoren. Dit klinkt wellicht "big brother-achtig", maar het stelt niets voor;
1) Het gaat niet via Google, maar via Piwik (die op mijn eigen server draait, dus geen third party).
2) Ik log niets, alleen met welke versie / telefoon (model) iemand de app gebruikt.
Speciaal voor deze app kan ik het ook wel uitzetten, maar al mijn apps houd ik op die manier een beetje in de gaten, dus het is meer automatisme dat het hier ook in zit (bijna alle app-bouwers doen dat, vaak zelfs via Google of third-party software; maar dat vertrouw ik dus weer niet- omdat je dan een database van je users aanlegt en die uit handen geeft).
Ps. Tenslotte kan je via de debugger een log-boek naar jezelf mailen, zodat je elke stap die gedaan wordt terug kan lezen