2013-04-04 2 views
3

Je développe une application web qui utilise une API Web REST .NET. Mon API Web est sans état et j'utilise des requêtes HTML et JQuery statiques.Meilleure méthode d'authentification pour .NET Web API + HTML statique + JS

Question .... Quelle est la meilleure façon de faire l'autentication de connexion/mot de passe?

flux d'application:

  1. API XHR demande
  2. réponse de l'API avec le statut 401
  3. JS redirigent la page de connexion
  4. API demande d'authentification XHR (avec login et mot de passe)
  5. réponse API avec un jeton
  6. Nouvelle requête API XHR (avec jeton)
  7. réponse API avec des données

Répondre

1

Je crois que la réponse est ici cela dépend; et cela dépend vraiment de la sensibilité de l'information derrière votre API.

Si nous parlons de données très sensibles, je mettre en œuvre le modèle Amazon uses

Pour la plupart des sites, ce que vous décrivez est très bien. J'utiliserais https pour plus de sécurité. Vous pouvez transmettre votre jeton chiffré dans un cookie ou en en-tête personnalisé.

Dans vos contrôleurs API, vous pouvez utiliser l'attribut [Authorize] pour restreindre l'accès aux points de terminaison nécessitant une authentification.

Vous pouvez exposer un gestionnaire délégué qui traite toutes les demandes et répond avec un 401 si le jeton n'est pas valide, ou définir le principal courant afin que l'attribut Autoriser puisse être satisfait.

S'il vous plaît laissez-moi savoir si vous avez besoin d'échantillons de code, je l'ai déjà fait.

+1

Pourriez-vous poster un exemple de code? – renefc3

Questions connexes