qin-team-recipe/02-frontend

ログイン認証

topaoad opened this issue · 4 comments

feature/authenticationブランチで実装中ですが、完了するまでメインブランチへのマージは保留中

【進捗】

  • ひとまずuser情報で認証管理を行い、後日トークンとクッキーに置き換える予定をしていた
  • しかし、Contextを使い、ルートレイアウトで全コンポーネント共通で状態管理をさせるために作成した
    AuthedCheckProviderコンポーネントでuser情報が保持できず、作業保留中
  • Recoilでも試したが結果は同じ
  • user情報は各ページからは取得可能
  • 週末しまぶーさんにアドバイスを求める予定
  • トークンを用いてクッキーをセットし、クッキー情報を元に判別する方法しかないのか思案中

見当違いなこと言っていたらすみません。
コンテキストへ登録するデータの型が一致していないかもと思いました。
userInfoのレスポンスの形が添付の画像のようなものなので、以下26行目のsetUset(data)をsetUser(data.data)にするとユーザ情報を登録することができました。

.then((response) => response.json())
.then((data) => {
setUser(data)
router.push("/")
setIsLoading(false)
})

image

余計かもしれませんが、個人的に認証処理の理解を深めるために、現在作成いただいている処理の流れを簡単に図化してみました。

image

おかげさまで解決しましたし、図によってわかりやすく可視化できました!
感謝感謝です。
ありがとうございましたー!!

実装が一旦完了したのでクローズします