[Ruby on Rails] Implémenter la fonction de connexion par add_token_to_users avec l'API

introduction

Création d'un service Web avec API. Pour implémenter une fonction de connexion utilisateur. C'était la première fois que je créais une fonction de connexion API, je l'ai donc implémentée en me référant à la page suivante.

Implémentation de l'API de connexion pour l'authentification par jeton dans Rails-Qiita

environnement

MacBookAir ruby 2.6.3 Rails 6.0.3.2

Pensez au routage

config/routes.rb


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

Ajouter une migration

$rails g migration Add_token_To_Users token:token

Ce qui suit est créé

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

modèle

class User < ApplicationRecord
    has_secure_token
end

manette

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: "la certification a échoué" } 
    end

   end

  private

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

Essayez de vous connecter avec POSTMAN

On dirait que c'est fait.

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

À la fin

Je dois désormais implémenter la fonction de déconnexion.

Recommended Posts

[Ruby on Rails] Implémenter la fonction de connexion par add_token_to_users avec l'API
Paramètres de validation pour la fonction de connexion Ruby on Rails
Implémentation de la fonction de connexion Ruby on Rails (Session)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
[Ruby on Rails] Introduction de la fonction de pagination
Implémentez la fonction de connexion dans Rails simplement avec le nom et le mot de passe (1)
Implémentez la fonction de connexion dans Rails simplement avec juste un nom et un mot de passe (2)
Implémenter une fonction de connexion simple dans Rails
[Ruby on Rails] Fonction de sortie CSV
[Ruby on Rails] Implémentation de la fonction de commentaire
[Ruby on Rails] DM, fonction de chat
Implémentez la fonction de connexion simplement avec le nom et le mot de passe dans Rails (3)
Je souhaite ajouter une fonction de navigation avec ruby on rails
[Ruby on Rails] Fonction de recherche (non sélectionnée)
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Afficher le test avec RSpec
[Ruby on Rails] Suivez l'implémentation de la fonction: bidirectionnelle
Remarques sur l'utilisation de FCM avec Ruby on Rails
[Ruby on Rails] Test du contrôleur avec RSpec
Essayez d'implémenter une fonction de connexion avec Spring-Boot
Créez quand même une fonction de connexion avec Rails
[Ruby on Rails] Test de modèle avec RSpec
[Ruby on rails] Implémentation d'une fonction similaire
[Ruby on Rails] Suppression logique (fonction de retrait)
Présentation de Rspec avec Ruby on Rails x Docker
Publiez l'application avec ruby on rails
Ruby on Rails Implémentation de la fonction d'envoi automatique de courrier
[Rails] Procédure de liaison de bases de données avec Ruby On Rails
Mettre en œuvre la fonction de recherche avec l'API Rakuten Books (DVD)
Déterminez la page actuelle avec Ruby on Rails
[Ruby on Rails] Téléversement de plusieurs images avec refile
[Ruby on Rails] Fonction de post-édition (mise à jour, suppression)
J'ai fait un portfolio avec Ruby On Rails
Principes de base de Ruby on Rails
Association Ruby On Rails
[Ruby on Rails] Communication asynchrone de la fonction de publication, ajax
Exécutez des tests Ruby on Rails RSpec avec des actions GitHub
[Ruby on Rails] Fonction de classement des scores (affichage complet)
[Ruby on Rails] Fonction de prévisualisation de l'image dans le fichier
[Ruby on Rails] Fonction de recherche (modèle, formule de sélection de méthode)
Création d'un plan de site au format RSS / Atom avec Ruby on Rails
[Ruby on Rails] Comment implémenter la fonction de balisage / recherche incrémentielle pour les articles (sans gemme)
Implémenter la fonction d'application dans Rails
J'ai essayé d'installer le plugin lié à Ruby on Rails avec vim-plug
Record d'apprentissage de Ruby on rails -2020.10.03
[Rails] Implémenter la fonction de recherche d'utilisateurs
Ruby on Rails Paramètre de la fonction d'envoi automatique des e-mails (avec Gmail)
Record d'apprentissage Ruby on rails -2020.10.04
[Ruby on Rails] Fonction de signet (enregistrement favori, comme): une direction
[Ruby on Rails] Debuck (binding.pry)
Record d'apprentissage de Ruby on rails -2020.10.05