質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

devise_token_authとauth_modulesをを使用したログイン機能でログインできない

takuya_nendo
takuya_nendo

総合スコア16

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0評価

0クリップ

151閲覧

投稿2022/06/20 09:07

実現したいこと

devise_token_authとauth_modulesを使用したログイン機能の実装

発生している問題・エラーメッセージ

ログイン実行時にエラーは出ていないのですが、ログイン状態になりません。
※ログイン状態=this.$auth.loggedInがtrue

該当のソースコード

signin.vue

nuxt

<template> <div> <h2>ログイン</h2> <form> <div> <label>企業ID</label> <input v-model="agent_companies_id" type="text" placeholder="企業ID" /> </div> <div> <label>ユーザーID</label> <input v-model="email" type="text" placeholder="ユーザーID" /> </div> <div> <label>パスワード</label> <input v-model="password" type="password" placeholder="パスワード" /> </div> <div> <button type="submit" @click="login"> ログイン </button> </div> </form> </div> </template> <script> export default { data() { return { agent_companies_id: '', email: '', password: '', error: null } }, methods: { async login() { await this.$auth.loginWith('local', { data: { agent_companies_id: this.agent_companies_id, email: this.email, password: this.password } }) this.$router.push('/').then((error) => { this.error = error.response.data.errors console.log(this.error) // eslint-disable-line no-console }) } } } </script>

application_controller.rb

rails

class ApplicationController < ActionController::API include DeviseTokenAuth::Concerns::SetUserByToken skip_before_action :verify_authenticity_token, raise: false before_action :configure_permitted_parameters, if: :devise_controller? def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:agent_companies_id, :last_name, :first_name, :last_name_syllabic_characters, :first_name_syllabic_characters, :email, :password]) #新規登録時に許可するパラメーターの指定 devise_parameter_sanitizer.permit(:sign_in, keys: [:agent_companies_id, :email, :password]) #ログイン時に許可するパラメーターの指定 end end

ログイン実行時のターミナルログ

Started POST "/api/v1/auth/sign_in" for 172.22.0.1 at 2022-06-20 16:58:58 +0900 (10.8ms) SET NAMES utf8mb4, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 (2.1ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC Processing by Api::V1::Auth::SessionsController#create as HTML Parameters: {"email"=>"test@mail.com", "password"=>"[FILTERED]", "session"=>{"email"=>"test@mail.com", "password"=>"[FILTERED]"}} Unpermitted parameter: :session Unpermitted parameter: :session Agent Load (4.6ms) SELECT `agents`.* FROM `agents` WHERE (BINARY email = 'test@mail.com' AND provider= 'email') ORDER BY `agents`.`id` ASC LIMIT 1 Unpermitted parameter: :session Unpermitted parameter: :session (1.1ms) BEGIN Agent Update (2.1ms) UPDATE `agents` SET `agents`.`tokens` = '{\"srMiUzRPZYyb77CBatBvng\":{\"token\":\"$2a$10$ypSMr5uwyf7bMOAkpETRgOQDeZ.3B7dSuX11ZwHPtvfXc57Q6cUhq\",\"expiry\":1656897253},\"YL9Y0WUCTnQBicgpqeRU7g\":{\"token\":\"$2a$10$v2r7WSrgNhQsqWzwAPCIHuxsBUdVYqeLnb324dDQn1KtLSL7eSMP2\",\"expiry\":1656898847},\"H0-TAV_JuvEuDXdYEXcxkQ\":{\"token\":\"$2a$10$nbVDa1O/bxe6OC6W0YofvuLp2dEmEhw9yAnQNpyvmDg3cz3mR/S6W\",\"expiry\":1656898987},\"HG7g4zCkkds9D-kKQhV2og\":{\"token\":\"$2a$10$L4Ao/hM1KI/8DRmQtcwDR.IPRZt3GmDuaQ/4Nt55eayfXbFiYDzpW\",\"expiry\":1656899686},\"3HCuEMz2RTWEVj-z0N0dfQ\":{\"token\":\"$2a$10$wJbj4m4qWC7B7hItOYqKaOodmuxyUxU6d6wGSb//lQ9iPWHqIWKs6\",\"expiry\":1656900473},\"ct_LN-9ZrBjhNen1vjLPuQ\":{\"token\":\"$2a$10$dxMBGMmGqsIOLGhTbvvYQux08UmiqVVxkI.uzONYGTp42Xcx697D2\",\"expiry\":1656900615},\"2K1XbQrkkLTBb84uW0oRgg\":{\"token\":\"$2a$10$k87Z5.zj4nv3YHbP6reI4u16.sBnAi0IKVeAjw4u.QLqGIqyOWgSi\",\"expiry\":1656900670},\"naMUuRsFtMExCpLPcM6T6g\":{\"token\":\"$2a$10$3xzYTnLqsc2bocspYMyZVuS1NevQwg9RPTos/.FihZD22dtIYbUXq\",\"expiry\":1656921012},\"wGr2AviF5KQnmuF7kn9B2g\":{\"token\":\"$2a$10$WaJd/tHaXb6oNhmqfW3AHeRgemcKtPN.zZfHavSSFhPNnmvKWUHpe\",\"expiry\":1656921366},\"EZ0ueieCxcPmcVV7KfC-MA\":{\"token\":\"$2a$10$jsmSvdnJtt.3y12YgX66pOPXgmzEzDywU/RcJhUw5YVU8VB6fCUJu\",\"expiry\":1656921538}}', `agents`.`updated_at` = '2022-06-20 07:58:58.957874' WHERE `agents`.`id` = 430144037 (6.3ms) COMMIT Agent Load (1.3ms) SELECT `agents`.* FROM `agents` WHERE `agents`.`id` = 430144037 LIMIT 1 Completed 200 OK in 654ms (Views: 0.2ms | ActiveRecord: 26.1ms | Allocations: 31684)

試したこと

  • devise_token_authのsessions_controllerを全てオーバーライドして、pryで止めて処理を確認したが、どこも正常形で処理は完了していた
  • 初期の状態のemailとpasswordのみでログインを実行したが、ターミナルの結果も同じでログイン状態にならなかった

原因がいまいち掴めなかった為どなたかご教示いただけると幸いです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです