Wir bauen eine Rails 3-Webanwendung, die regelmäßige Benutzer, die die Website besuchen, autorisieren und authentifizieren muss. Die gleichen Benutzer können auch Anwendungen von Drittanbietern verwenden, um über unsere API auf die Website zuzugreifen.
Welche Ansätze können wir verwenden, um sowohl den Kunden als auch den Nutzern einen effektiven und sauberen Zugang zu ermöglichen? Welche Strategien haben Sie in Ihren eigenen Rails-Anwendungen verwendet, die auch RESTful APIs haben?
Idealerweise suchen wir nach einer Lösung, die:
- funktioniert gut mit Devise und CanCan (die wir bereits für authn/authz verwenden)
- spielt gut mit Mongoid
- verschmutzt unsere Kontrolleure nicht
- ist relativ einfach zu installieren und zu konfigurieren, wenn es sich um ein Gem oder Plugin handelt
- leicht testbar ist, wenn es sich um eine allgemeine Strategie handelt; oder bereits getestet ist, wenn es sich um ein Juwel oder ein Plugin handelt