Wie so oft in unserer Branche lautet die Antwort auf "Was ist das Beste?" ist "es kommt darauf an." :)
HTTP-Authentifizierung - Wenn Sie Kunden bereits über eine ID und ein Passwort bei Ihrem Dienst anmelden möchten, müssen Sie wahrscheinlich nur minimale Arbeit leisten, damit dies gut funktioniert mit deiner API. Wenn Ihre API im Grunde genommen nur für einen Zweck bestimmt ist und keine detaillierten Berechtigungen erfordert, können Sie hier etwas schnell arbeiten.
API-Token - Wenn Sie möchten, dass sich Kunden problemlos authentifizieren können, ohne ein Passwort anzugeben (denken Sie an Unternehmen, die einen Service erstellen, der mit Ihrer API interagiert; Ich möchte, dass das Entwicklungsteam die Kennwörter kennt, usw.), dann ist es wahrscheinlich der schnellste Weg, ein zufälliges API-Token à la GitHub an das Benutzerkonto anzuhängen. Als Bonus können Sie eine Methode zum Neugenerieren des API-Tokens bereitstellen, ohne das Kontopasswort ändern zu müssen.
OAuth - Wenn Sie mehrere Berechtigungen haben oder feinere Kontrolle darüber haben möchten, wie und wann ein Client auf Ihre API zugreifen kann, ist OAuth eine gute Wahl (OAuth2 ist viel einfacher zu bedienen mit, IMO und unterstützt mehrere Methoden zum Erhalten eines Zugriffstokens ) . Darüber hinaus verfügen viele Sprachen über Bibliotheken, Edelsteine usw., die es ihnen ermöglichen, den OAuth-Workflow zu vereinfachen.
Tags und Links ruby-on-rails api authentication