Je suis en train de créer une API pour mon application rails. J'essaie de réutiliser les mêmes contrôleurs pour l'API et la logique applicative. Les requêtes sans authentification d'un utilisateur sont correctes mais comment implémenter si certaines actions nécessitent une authentification. J'utilise authlogic, pour éditer les gens ont besoin d'autorisations spécifiques que je vérifie dans le before_filter. Si j'implémente une API utilisant l'authentification de base HTTP, comment puis-je me différencier?Implémentation de l'API pour une application Rails
0
A
Répondre
1
Je pense qu'il y a deux parties à la réponse. Tout d'abord, vous devez configurer l'authentification de base http avec authlogic. Les détails pour ce faire sont contenus dans cette réponse SO: Rails: Basic Authentication with Authlogic
Ensuite, vous devez faire la différence entre les appels API et les appels de navigateur normaux dans votre contrôleur. En supposant que votre API est XML ou JSON, vous pouvez le faire avec quelque chose comme ceci:
class ThingsController < ApplicationController
before_filter :authorize
def authorize
if params[:format] == 'json' || params[:format] == 'xml'
require_http_auth_user # http basic auth for API access
else
require_user # normal authlogic authentication
end
end
end
0
Il peut être utile de séparer en deux contrôleurs séparés et d'inclure la fonctionnalité commune via un mixin. De cette façon, vous pouvez authentifier les contrôleurs séparément.
Questions connexes
- 1. Implémentation de reCaptcha dans une application Rails 2.3.12
- 2. Implémentation du modèle d'observateur pour mon application Rails
- 3. Implémentation de l'URL de réécriture pour une application Zend
- 4. exigences pour une application rails
- 5. Implémentation de l'annulation dans une application Web
- 6. Implémentation de sytem.diagnostics personnalisés pour une application gérée
- 7. création de Rdoc pour une application rails
- 8. Comment se connecter à LiveLink à l'aide de LAPI SingleSignOn
- 9. Implémentation Undo/Redo pour une application CRUD AngularJS
- 10. implémentation/application d'agrégateur de SMS
- 11. Enregistrement 'Per X' pour une application Rails
- 12. API REST pour une application rails existante
- 13. Hébergement pour une application Ruby on Rails
- 14. periodically_call_remote: Rails AJAX pour une application facebook
- 15. autorisations appropriées pour une application rails
- 16. Implémentation de la recherche dans une application Ruby on Rails 3?
- 17. rails has_and_belongs_to_many ou implémentation manuelle
- 18. Implémentation de oauth dans une application Rails: un modèle d'utilisateur ou deux (utilisateur + authentification)?
- 19. Comment sélectionner une implémentation de service dans une application Grails?
- 20. Rails: Implémentation d'un formulaire de recherche pour le filtrage composé
- 21. application Rails Update pour Rails 4
- 22. Implémentation d'une table de recherche dans Rails
- 23. Implémentation de clés Api (sécurisées) dans une application
- 24. Implémentation de la recherche universelle dans une application Django
- 25. Implémentation d'une balise de gabarit dans une application générique - django
- 26. Implémentation de la reconnaissance gestuelle dans une application Android
- 27. Meilleure implémentation pour la réplication MySQL avec Rails 3?
- 28. Implémentation de gestionnaires de modèles Rails 3
- 29. application asp.net - implémentation de la configuration
- 30. Implémentation de "remember me" dans une application Grails