Nuxt
の画面からemail
とpassword
を送ってrails
のdevise_token_auth
で認証、
access-token
/client
/uid
をレスポンスで受け取って``localStorage`に保存をしたいと思っています。
現状はPostman
でAPIを叩いての登録&ログインは動いていますし、Postman
上ではHeadres
も表示されています。
コマンドで叩いた時も同様で以下のように取得がされている状態です。
$ curl localhost:3000/api/v1/auth/sign_in -X POST -d '{"email":"test@gmail.com", "password":"password"}' -H "content-type:application/json" -i 結果 => HTTP/1.1 200 OK X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Download-Options: noopen X-Permitted-Cross-Domain-Policies: none Referrer-Policy: strict-origin-when-cross-origin Content-Type: application/json; charset=utf-8 access-token: C3x1Ujg7bflWSEEGwud_IA token-type: Bearer client: LEhRpZ8xwR98ENl7uW60hQ expiry: 1594658783 uid: test@gmail.com ETag: W/"1f7997550c2a07d9d9739f64d4dfd8e5" Cache-Control: max-age=0, private, must-revalidate X-Request-Id: e7c26e6d-eae5-4cfe-b2a6-52f9990629c8 X-Runtime: 0.289309 Vary: Origin Transfer-Encoding: chunked
そしてapiを叩きレスポンスヘッダの情報を取得するために、以下のようにNuxt
アプリのPlugins
に記載しています。
export default function ({ $axios }) { $axios.onResponse(response => { if (response.headers.client) { localStorage.setItem('access-token', response.headers['access-token']) localStorage.setItem('client', response.headers.client) localStorage.setItem('uid', response.headers.uid) localStorage.setItem('token-type', response.headers['token-type']) } }) }
そしてresponse.headers
として返ってきた内容が以下になります。
accept-ranges: "none" connection: "keep-alive" content-length: "2787" content-type: "text/html; charset=utf-8" date: "Mon, 29 Jun 2020 17:14:15 GMT" etag: ""ae3-Jb4rA/MdMTBwjZG+5o//VVym57U""
全く違うものが返ってきているの相当見当外れなことをしているような気がしていますが、かなりハマってしまっています。。。
お力お貸しいただければ助かります。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。