Ich habe die beste Methode für die Implementierung von Facebook, Twitter und E-Mail/Passwort-Authentifizierung für eine reine JSON Rails 4.1 Anwendung, die Rails-API verwendet. Die Rails-App hat KEINE Ansichten und dient nur JSON zwischen nativen Android- und iPhone-Anwendungen (sie verwenden das ionische Framework, das eine eckige Anwendung ist, die in eine native Anwendung kompiliert wurde).Rails JSON API oauth Authentifizierung
In der Vergangenheit habe ich die Basisauthentifizierung implementiert, wo ein auth_token in Kopfzeilen von den Client-Apps an eine Rails-API übergeben wird, ohne Probleme mit in Auth eingebauten Rails, aber seit dieser Zeit muss ich mit Facebook und Twitter I integrieren bin auf der Suche nach einer Lösung, die oauth verwendet.
Ich habe in der Entwicklung gesucht, aber es scheint nicht gut mit einem reinen JSON-API zu spielen. Ebenso scheint Omniauth auf Ansichten & Redirects angewiesen. Außerdem scheinen opro und doorkeeper großartig zu sein, um Ihr eigener oauth Provider zu sein, aber ich sehe nicht, wie sie mit Dritten wie Facebook und Twitter umgehen.
Wie implementieren Menschen die Oauth-Authentifizierung von mehreren Anbietern für eine reine JSON-API-App in Rails?
Ich wünschte, ich könnte Ihnen mehr als 1 upvote :) geben. Das ist genau das Problem, das ich auch habe. Jeder spricht über Token-Authentifizierung, aber niemand spricht darüber, wie man die Authentifizierung von Drittanbietern durchführt. Meine derzeitige Lösung bestand darin, dass der Client zu meiner API umleitet, ich mich um die Authentifizierung mit OmniAuth kümmere, ein Authentifizierungstoken in einem Cookie hinterlege und dann zurück zum Client umleite. Aber das funktioniert, weil der einzige Client, den ich habe, ein Browser ist, und ich erkannte, dass ich es generischer haben möchte. Sorry, habe nicht wirklich geholfen :) –
@Johan hey, wie hast du am Ende die Authentifizierung implementiert? –
@PaulFitzgerald Open Source es https://github.com/johnkelly/heavenly. Grundsätzlich facebook auth, die Token Auth nach Authentifizierung wird. – John