自作アプリ作成記録20日目
devise-token-authのドキュメントやQiitaなどの記事を参考にトークン発行機能とユーザーログイン成功まで実装してみる。
詰まったところその1
devise-token-authだけgem installして使えばいいのかと思っていたけど、実はdeviseもinstallしないとうまく使えなかった。devise-token-authはおそらくだが、deviseのオプションみたいな位置付けのgemなんではないだろうか・・・。
詰まったところその2
Vueのaxios実装をどうしたら良いのかさっぱりわからなかった。でもここは冷静に考えて、localhost:3000にとりあえずはパラメーターを送ってstatus 200が返ってくることをまずは目標に実装した。本番環境の場合はどうすればいいのかはまだわかっていない・・・。まあ教材をちょっとアレンジしただけなので本質的なところを理解できているかと言われるとまだまだ怪しさ満点は拭えない。
<script>
import axios from "axios";
export default {
data() {
return {
email:"",
password:""
};
},
methods: {
login() {
axios.post('http://localhost:3000/v1/auth/sign_in',
{
email:this.email,
password:this.password
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
this.email = ""
this.password = ""
}
}
}
</script>
まだ不安なところ
CORSの設定をどうしたらいいのかがまだわからない。そもそもCORSとはみたいな記事を見てふーんとはなったものの、それだけで正しい実装ができるとは思わない。まだローカル環境なのでそこまで根詰めて考える必要は無いかもしれないが、とりあえずはGET,POST,PUT,DELETEだけ許可することにしておいた。
※他のHTTPメソッドはデフォルトではdevise_auth_tokenでは使われていないようなので不要と判断した。
ただoriginsは将来的には絞っていかないといけないと思っている。
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
headers: :any,
methods: [:get, :post, :put, :delete]
end
end
この記事が気に入ったらサポートをしてみませんか?