2016-04-12 10 views
0

Ich habe eine Anwendung mit Devise. Und ich möchte OAuth2 in meiner API für die Authentifizierung verwenden.Implementieren OAuth2 zusammen mit eigener App

  • Ist es möglich, OAuth2 ohne Doorkeeper, OmniAuth usw. zu implementieren?
  • Wie kann ich OAuth2 in meiner App implementieren, da es "client_id", "client_secret",: site bereitstellen muss?
+0

Sie müssen Ihre Anwendung beim OAuth2-Provider registrieren (d. H. Facebook, Google oder wen auch immer) und der Rest ist einfache GET- und POST-HTTP-Anfragen. Die Bibliotheken sind Wrapper um den OAuth2-Authentifizierungsablauf und die API des Anbieters. Sie können hier nach einer [Beispiel-Implementierung suchen, die von Plezi verwendet wird] (https://github.com/boazsegev/plezi/blob/7a4e749908e2f22a0f27d4b4bf46360660d8a0ba/lib/plezi/oauth/auth_controller.rb) – Myst

+0

Sie sagen, dass ich hineingehen muss der Server so (Facebook, Google ect)? Was ist, wenn ich meinen eigenen Server benutzen möchte (meine App hat auch Benutzer)? Ist es möglich? –

+0

Möchten Sie ein OAuth2-Anbieter sein? Oder möchten Sie Ihren Nutzern die Anmeldung über ihr Facebook-Konto (oder ein anderes OAuth2-Konto) ermöglichen? – Myst

Antwort

1

Ist es möglich, OAuth2 ohne Pförtner, OmniAuth usw. zu implementieren?

Ja, natürlich. Aber Sie müssten die gesamte Arbeit nach dem oAuth 2.0-Standard selbst erledigen. Sie können die Spezifikation lesen, was Sie tun müssen here.

Wie kann ich OAuth2 in meiner App implementieren, weil es 'client_id', 'client_secret',: site bereitstellen muss?

Lesen Sie die oAuth 2.0-Spezifikationen und implementieren Sie sie mit Standard-Rails-Code. Aber es wäre viel einfacher, nur vorhandene Edelsteine ​​zu verwenden. Außerdem ist es besser, bestehende, gut gepflegte und beliebte Edelsteine ​​zu verwenden, da der oAuth2-Standard einige Nuancen wie das Setzen eines zufälligen "Status" beim Abrufen eines Anfrage-Tokens aufweist. Wenn dies nicht berücksichtigt wird, kann dies zu MiM-Angriffen führen.

Verwandte Themen