2020-08-01から1ヶ月間の記事一覧

React + Railsでのエラー周り実装の基本方針

タイトルの通り。そんな大した話ではないが今後の基本方針としてメモ。まぁ浅い内容。 動くコードは以下参照。 github.com 気にするべきエラーをひとまず以下の形で分類。 フロント: 入力値のValidation フロント: APIレスポンス API: サーバ側で発生する種…

SPAのログインチェック機能がいい感じに作れたので実装の流れを軽くメモる

SPAのログインチェック機能が自分としてはいい感じに出来たので記録に残す。 React Router v5までであれば、いわゆるPrivateRouteのやり方を用いれば良いのだが、今回はv6 のObject-based Routesを用いたのでやり方を自分で考える必要があった。出来てしまえ…

「react router v6 の Object-based Routes」を使うと Reactのルーティング周りがいい感じに書けて良い

最初こっちに書いてたけどQiitaに出来そうだったのでコンバート。 またこのパターン。 React Router v6 の Object-based Routes をキメると、ルーティング実装が気持ちよくなる(かもしれない)ので紹介させてほしい - Qiita

Reactアプリのログインチェック機能がまぁまぁ上手くできた話

React(SPA)でログインチェック機能がまぁまぁ上手く出来たので軽くメモを残す。 認証済みを表す状態をグローバルで保持する必要があるかと思ったが、特にそんなことはなかった。 その代わり"ログインチェック"済みかどうかを表す状態を保持することにした。 …

React Router v6 移行作業で引っかかった箇所のメモ

Qiitaに記載。(果たしてこれでいいのか。。。逆では?) qiita.com

React + Rails(API)で tokenを用いたCSRF対策の基礎(のメモ)

cookieを利用した認証を採用した場合、必然的にCSRFの対策を行う必要がある。 Railsのようなモノリシックなフレームワークを用いている場合、デフォルトでCSRF対策が入っている(ことが多い)ためCSRFの考慮する必要はないが、 React + RailsのようなSPA環境で…

Rails(API)でcookieを使ったログイン機能実装のメモ

「Rails(API)でcookieを使ったログイン機能実装」にあたり、微妙に引っかかった点のメモ。 人が読むことを全く意識していない。 Userモデル作成 bin/rails g model user name:string email:string password_digest:string has_secure_password Userモデルにh…

ローカル環境(localhost)におけるRails APIのhttps対応 & Chromeデフォルト環境でエラーなく動作するための証明書作成

「ローカルの開発環境(localhost)でRails APIをhttps化」してみたので手順を残す。 (正直勘違いからのスタートだったので、用途を言及できないが。。。) Railsのhttps化 基本的に以下の記事をそのまま利用。記事の実装は開発環境のみで動く形になっているの…

Railsのデフォルトのcookieを用いたセッション管理における、セッション情報の保管場所について

Railsでセッション管理を行う場合は、"session"メソッドを利用するのが基本になる。 Railsのデフォルト動作ではこの"session"メソッドを用いた際cookieを用いてセッション情報を管理する事は知っていたが、 具体的に何をしているかに関してはあまりよく理解…

RailsでCORSの許可設定

RailsをAPIとして運用する場合CORSの設定が必要になる。 ググれば一発で出てくるような内容だが、備忘録をかねてdiffを記載する。 ざっくりやること以下の通り。これでダメならclient側の実装を見直した方が良いかもしれない。 (実際 axiosに渡すURLに、"htt…

やっと理解したgithubで参考になるリポジトリを検索する方法と、それで見つけた良さげなReact製アプリケーションのリポジトリ

結論:トピック(タグ)検索を使ってstarなりなんなりでソートして上からたどる 他の人のコードを読もう、githubで検索すると見つかるよ!みたいな話はよく目にするが、いざやってみると目的のコードを見つける方法が分からない。 例えば私の場合、React製のア…

React のディレクトリ構造に関する個人的な方針

Reactは公式でディレクトリ構造に対する明確な方針を持っておらず、各開発者の裁量に任されている。 その結果としていくつかのパターンは見られるものの個々人、プロジェクトで異なることが多く、「これが最有力!」というものも存在していない。 私自身Reac…

gitリポジトリを複製したい時、別のリポジトリにpushしたい時の話

React(SPA) & Rails(API)環境のテンプレートを作った。 github.com これでちょっとReact & Railsで何か作りたい時に気軽に流用できるわけだが、 試した結果をgithubに残したい時には当然ながら、このリポジトリの内容を新しく作成した別リポジトリにコピーす…

で認証情報はCookieに入れるのとLocalStorageに入れるのどっちがいいんだってばよ?

SPA(React + Rails)環境でCookieを使った認証機能を作ったらChromeでまともに動かなくて涙 - kappaz’s diary の続き。 結論から言うと、 何を選ぼうがリスクは残る 選んだ手法の特徴を理解した上でリスクを緩和する策を取れ お前の置かれた状況に応じてリス…

SPA(React + Rails)環境でCookieを使った認証機能を作ったらChromeでまともに動かなくて涙

タイトルの通り。 以下の感じでお試しのログイン機能を作ったが、まぁなぜかCookieでの認証がまともに動いてくれない。 github.com 結論から言うと「Chromeの仕様で3rd party製Cookieはhttpsじゃないと動かない」とのことだった。 より正確には「SameSite=No…