[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API

Einführung

Erstellen eines Webdienstes mit API. So implementieren Sie eine Benutzeranmeldefunktion Es war mein erstes Mal, dass ich eine API-Anmeldefunktion erstellt habe. Daher habe ich sie auf der folgenden Seite implementiert.

Implementierung der Anmelde-API für die Token-Authentifizierung in Rails - Qiita

Umgebung

MacBookAir ruby 2.6.3 Rails 6.0.3.2

Denken Sie an Routing

config/routes.rb


Rails.application.routes.draw do
  namespace 'api' do
    namespace 'v1' do
      post '/login', to: 'sessions#create'
    end
  end
end

Migration hinzufügen

$rails g migration Add_token_To_Users token:token

Folgendes wird erstellt

db/migrate/20200911133819_add_token_to_users.rb


class AddTokenToUsers < ActiveRecord::Migration[6.0]
  def change
    add_column :users, :token, :string
    add_index :users, :token, unique: true
  end
end

Modell-

class User < ApplicationRecord
    has_secure_token
end

Regler

app/controllers/api/v1/users_controller.rb


module Api
    module V1
class SessionsController < ApplicationController
  def create
    user = User.find_by(email: session_params[:email])

    if user&.authenticate(session_params[:password])
        session[:user_id] = user.id
        return render json: { token: user.token}
    else
        return render json: { status: 401, message: "Zertifizierung fehlgeschlagen" } 
    end

   end

  private

  def session_params
    params.require(:session).permit(:email, :password)
  end
end
end
end

Versuchen Sie, sich mit POSTMAN anzumelden

Es sieht so aus, als wäre es geschafft.

スクリーンショット 2020-09-19 16.51.37.png

Am Ende

Ich muss die Abmeldefunktion von nun an implementieren.

Recommended Posts

[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
[Ruby on Rails] Paging-Funktion eingeführt
Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (1)
Implementieren Sie die Anmeldefunktion in Rails einfach mit nur einem Namen und einem Passwort (2).
Implementieren Sie eine einfache Anmeldefunktion in Rails
[Ruby on Rails] CSV-Ausgabefunktion
[Ruby on Rails] Implementierung der Kommentarfunktion
[Ruby on Rails] DM, Chat-Funktion
Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (3).
Ich möchte eine Browsing-Funktion mit Ruby on Rails hinzufügen
[Ruby on Rails] Suchfunktion (nicht ausgewählt)
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
[Ruby on Rails] Test mit RSpec anzeigen
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Ruby on Rails] Controller-Test mit RSpec
Versuchen Sie, eine Anmeldefunktion mit Spring-Boot zu implementieren
Erstellen Sie trotzdem eine Anmeldefunktion mit Rails
[Ruby on Rails] Modelltest mit RSpec
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Ruby on Rails] Logisches Löschen (Auszahlungsfunktion)
Einführung in Rspec mit Ruby on Rails x Docker
Veröffentlichen Sie die mit Ruby on Rails erstellte App
Ruby on Rails Implementierung der automatischen Mail-Sendefunktion
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
Implementieren Sie die Suchfunktion mit der Rakuten Books (DVD) API
Bestimmen Sie die aktuelle Seite mit Ruby on Rails
[Ruby on Rails] Hochladen mehrerer Bilder mit Refile
[Ruby on Rails] Nachbearbeitungsfunktion (Aktualisieren, Löschen)
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ruby on Rails Grundlagen
Ruby On Rails Association
[Ruby on Rails] Asynchrone Kommunikation der Posting-Funktion, Ajax
Führen Sie Ruby on Rails RSpec-Tests mit GitHub-Aktionen aus
[Ruby on Rails] Post-Score-Ranking-Funktion (gesamte Anzeige)
[Ruby on Rails] Post-Bildvorschau-Funktion in Refile
[Ruby on Rails] Suchfunktion (Modell, Methodenauswahlformel)
Site Map im RSS / Atom-Format mit Ruby on Rails erstellt
[Ruby on Rails] So implementieren Sie die Tagging- / inkrementelle Suchfunktion für Posts (ohne Gem)
Implementieren Sie die Anwendungsfunktion in Rails
Ich habe versucht, das Ruby on Rails-Plugin mit vim-plug zu installieren
Ruby on Rails Lernrekord -2020.10.03
[Schienen] Implementieren Sie die Benutzersuchfunktion
Ruby on Rails Einstellung der automatischen E-Mail-Sendefunktion (über Google Mail)
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Lesezeichenfunktion (bevorzugte Registrierung, wie): Eine Richtung
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05