3 votes

Options d'authentification Api avec asp.net mvc

Je cherche à restreindre l'accès aux contrôleurs/actions qui représentent l'API de mon site Web. Seuls les utilisateurs enregistrés qui répondent à certains critères (comptes payants, pas d'essais gratuits) pourront utiliser l'api. Le site Web prend actuellement en charge l'authentification par formulaire, les utilisateurs se connectant avec une combinaison nom d'utilisateur/mot de passe ou via un identifiant ouvert.

Comment faire pour que les utilisateurs s'authentifient avec l'api ? L'api sera initialement utilisée par des applications mobiles (iphone, droïde). Ma principale préoccupation est le support de l'identification ouverte avec les applications mobiles.

Voici ce que je pense des options disponibles :

  1. Supporte à la fois le nom d'utilisateur/mot de passe et l'open id - Je ne suis pas sûr que les applications iphone/droid puissent supporter l'authentification openid.
  2. Ne supporte que le nom d'utilisateur et le mot de passe - oblige les utilisateurs d'OpenId à créer un mot de passe pour l'API - Mauvaise interface utilisateur pour les utilisateurs d'OpenId.
  3. Utiliser un jeton d'api - Cela me préoccupe pour deux raisons :
    1. Les utilisateurs doivent saisir manuellement leur clé d'accès à Internet, ce qui est inacceptable du point de vue de l'ergonomie.
    2. Ils pourraient facilement distribuer/partager leur clé d'api avec d'autres utilisateurs et cela ruinerait les rapports/métriques.
  4. Quelque chose d'autre que j'ai manqué ?

0voto

Jess Points 8425

Nous utilisons le numéro 1 - open id ou username/password. Je ne vois pas en quoi cela est spécifique à asp.net ou asp.net mvc cependant ... cela ressemble plus à une question d'architecture.

0voto

Skelly Points 27772

Je pense que cela dépend de la manière dont vous créez l'API de vos services (REST/JSON, XML, WCF, etc.) mais voici quelques liens qui pourront vous aider :

ASP.NET MVC - Invite d'authentification HTTP

http://code.google.com/p/dotnetopenid/

-1voto

Jim Geurts Points 8199

J'ai trouvé que l'authentification par jeton fonctionnait le mieux.

OAuth 2 est une alternative attrayante qui serait prise en charge par tous les appareils mobiles et un site qui permet déjà plusieurs formes d'authentification.

DotNetOpenAuth offre une bibliothèque .net pour travailler avec OAuth2, parmi d'autres technologies d'authentification.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X