2009-07-29 8 views
0

Ich habe eine Frage über HTTP-Authentifizierung in einem nicht-Browser-env.Adobe Air http Auth

Wenn ich eine Air-App habe, die Benutzer/Pass zu "Login" zu einer Web-App nimmt.

Die Login-Aktion würde mit einer Anfrage von Air an http://foo.bar/session/create und dem uname/pass als POST var erfolgen.

Jetzt kann ich die Antwort behalten und sie zu den Überschriften für meine nächsten Anträge hinzufügen?

Wenn ich dann einen Anruf an http://foo.bar/links mache, die geschützt ist, um eine Reihe von Links zu bekommen, sollte es funktionieren und mir die Links zurückgeben. Wie kann ich sein automatisch authentifiziert im Browser (Firefox/IE) Öffnen eines dieser Link

Meine erste Vermutung ist, dass ich nicht kann.

Danke für Ihre Rückmeldungen.

Greg

Antwort

0

Sie müssen etwas Logik auf Ihrer Serverseite hinzufügen. In/session/erstellen

if (passed) { session["user"] = username } 

Und in/Links

if (session["user"] == null) { redirect('/login') } 
// Do the rest of your stuff here 

Dies ist nicht wirklich Code. Es soll dir nur eine Idee geben. Sie können bei jeder Anfrage ein Token hin- und herschicken, aber es ist viel einfacher, wenn Ihre Server-Seite die Sitzung überprüft.

+0

Oh, Entschuldigung, ich habe nicht sorgfältig genug gelesen. Sie verwenden eine einfache http-Authentifizierung anstelle einer serverseitigen? Ich würde empfehlen, dort eine serverseitige Sprache zu werfen. Sie sind einfacher –

0

Ja, Sie können sich im Hintergrund anmelden und es wird Ihre Authentifizierung beibehalten, während Sie Links kopieren. Leider können Sie diese Authentifizierung beim Öffnen eines Webbrowsers nicht beibehalten, da Cookies nicht gemeinsam genutzt werden.