deviseを導入したアプリをherokuでデプロイし、一度目のログインでは問題なく表示されログインも成功するのですが、ログイン後ページを放置し、一定時間(おそらく半日程度)おいてからデプロイしたページを確認しようとすると、上のページの表示になります。
以前にも同じ状態になったことがあり、ブラウザの設定からCookieを削除すると、表示されるのですが、原因を突き止め、解決したいです。
herokuのページからこのアプリのログを確認すると、
Started GET “/” for
という表示がいくつもあり、ルートページに何度もリダイレクトされていました。
Completed 401 Unauthorized
こちらの表示もありました。
初心者で、必要なことを書けていないかもしれませんが、アドバイス頂けると嬉しいです。
rootに対応したcontrollerのアクションを添付していただけますか?
はい!お願いします。
app/controllers/top_controller.rb
class TopController < ApplicationController
layout 'top'
def index
end
end
アクションはなにもないのですが、
app/views/layouts/top.html.erbのレイアウトから
<!DOCTYPE html>
<html>
<head>
<title>SugomoriApi</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<%# Reactコンポーネント表示用のレイアウト %>
<body>
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
<% if current_user %>
<div id="js_logged_in_component">
<% else %>
<div id="js_not_logged_in_component">
<% end %>
</div>
</body>
</html>
Reactのコンポーネントを表示しています。
認証処理(ログイン)のところも確認したいのですが、
本質問の方にマークダウンのcodeで囲んで追記していただけますか?
githubにリポジトリがあって、公開するのが差し支えなければ、そうしていただけるのが早いです
ログインは全てdeviseを使って実装しているのですが、この場合はなにをお伝えすればいいでしょうか、、
ソースコードは、質問文にcodeを使って載せましょう。
sessions_controller, application_controller, devise.rbあたりですかね。
ローカルでは同様のエラーは発生しないですか?
Herokuとローカルでログが異なったりしますか?
logを2サイクル分位載せてください。
それでさらに欲しいものが出てくるかも、ですが
あなたの回答
tips
プレビュー