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 :
- 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.
- 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.
- Utiliser un jeton d'api - Cela me préoccupe pour deux raisons :
- Les utilisateurs doivent saisir manuellement leur clé d'accès à Internet, ce qui est inacceptable du point de vue de l'ergonomie.
- Ils pourraient facilement distribuer/partager leur clé d'api avec d'autres utilisateurs et cela ruinerait les rapports/métriques.
- Quelque chose d'autre que j'ai manqué ?