バックエンドにrails、フロントエンドにReactでアプリを作っています。ログイン機能は実装できたのですが、railsに触るのが久々ということもあり、認証周りで少し気になることがあったので質問させていただきました。
気になっていること
気になっていることは、ログインしているユーザーのみに表示するページはreact側のみで実装していいのかそれとも、rails側でApplication_controllerでログインユーザーがいるかを判定するアクションを作ってbefore_actionに記載することでログインしていないユーザーをリダイレクトさせるべきなのかです。
例えば、React単体の場合、ログインユーザーのみに表示したいページは以下のようにAuth
コンポーネントで囲い、Auth
コンポーネントにログインしているユーザーがいるのかを判定するようなコードを書くことで、ログインしていないユーザーが直接urlにログインユーザーのみに表示したいページのurlを打ち込んでも、loginページにリダイレクトするような機能が実装できると思います。
App.jsx
1const AAA = () => { 2 return ( 3 <div> 4 <Switch> 5 <Route exact path={'/signup'} component={SignUp} /> 6 <Route exact path={'/signin'} component={SignIn} /> 7 <Route exact path={'/signin/reset'} component={Reset} /> 8 9 <Auth> 10 <Route exact path={'(/)?'} component={Home} /> 11 </Auth> 12 </Switch> 13 </div> 14 ) 15}
この場合、react側だけでログインユーザーの判定をししてない場合はリダイレクトのような機能を実装してしまっていいのか気になります。
ご回答お待ちしております。
あなたの回答
tips
プレビュー