2009-07-29 7 views
0

J'ai une question à propos de HTTP auth dans un environnement non navigateur.Adobe air http auth

Si j'ai une application Air qui prend l'utilisateur/passe à "se connecter" à une application web. L'action de connexion serait faite avec une requête de Air à http://foo.bar/session/create et l'uname/pass comme POST var.

Maintenant, je peux garder la réponse et l'ajouter à l'en-tête pour mes prochaines demandes?

Si alors je fais un appel à http://foo.bar/links qui est protégé pour obtenir un tas de liens, cela devrait fonctionner et me renvoyer les liens.

Comment puis-je être automatiquement authentifié dans le navigateur (firefox/ie) ouvrant un de ce lien?

Ma première estimation est que je ne peux pas.

Merci pour vos commentaires.

Greg

Répondre

0

Vous devez ajouter une certaine logique sur votre Serverside. En/séance/créer

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

Et dans/liens

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

Ce n'est pas le code réel. C'est juste censé te donner une idée. Vous pouvez envoyer un jeton à chaque requête, mais il est beaucoup plus facile de demander à votre serveur de vérifier la session.

+0

Oh, désolé, je n'ai pas lu assez attentivement. Vous utilisez l'authentification http de base au lieu d'un serveur? Je recommanderais de lancer un langage serveur là-bas. Ils sont plus faciles –

0

Oui, vous pouvez vous connecter en tâche de fond et conserver votre authentification lorsque vous copiez des liens. Malheureusement, vous ne pouvez pas conserver cette authentification lors de l'ouverture d'un navigateur Web, car ils ne partagent pas les cookies.