質問: new URLSearchParams() params.append('grant_type', 'authorization_code') params.append('code', vue.code) params.append('redirect_uri', 'http://localhost:8080/login') params.append('client_id', //LINEに書いてあるID) params.append('client_secret', //LINEに書いてあるID) axios .post('https://api.line.me/oauth2/v2.1/token', params) .then(response => (console.log(response))) }, }, created() { this.fetchCode() this.fetchAccessToken() }, ``` ### 試したこと * リクエストボディの内容が登録している内容と一致しているか確認した * Content-Typeに合わせた記述になっているか確かめた * 再度ログインして、認可コードを再発行してみた(有効期限確認のため) エラーメッセージのinvalid authorization code とは 認可コードがあっていないということでしょうか? 400が返ってきているので、リクエストの内容が間違っているところまでは検討がつくのですが... 教えて下さい!
回答: こういうログインは基本的にサーバーサイドから使うもの。 ブラウザのJSからは使えない。 こうやってsecretを書くと他の人から見えるのでありえない。 「フロントのコードは外から見える」は何よりも先に覚えること。 ``` params.append('client_id', //LINEに書いてあるID) params.append('client_secret', //LINEに書いてあるID) ``` LINEに限定すればフロントから使う方法はあるかもしれない。