質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Netlify

Netlifyは、静的サイトを超高速でホスティングできる高機能なWebサービスです。WordPressといった動的処理を必要としないLPなどの静的Webサイトを公開することが可能。カスタムドメイン設定や無料SSL証明書などの多くの機能を無料で使用できます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

590閲覧

Vue CLI(axios)+Netlify+auth0で外部APIを利用したい

kazu0905

総合スコア1

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Netlify

Netlifyは、静的サイトを超高速でホスティングできる高機能なWebサービスです。WordPressといった動的処理を必要としないLPなどの静的Webサイトを公開することが可能。カスタムドメイン設定や無料SSL証明書などの多くの機能を無料で使用できます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/12/13 23:50

編集2020/12/15 02:33

Vue

1<template> 2 <div> 3 <button v-on:click="call_api()">表示する</button> 4 {{ info }} 5 </div> 6</template> 7 8<script> 9import axios from 'axios'; 10 11export default { 12 name: 'Test', 13 data () { 14 return{ 15 info: null, 16 } 17}, 18 19 methods:{ 20 call_api: function() { 21 axios.get("/services/search/api/v1?OPERATION-NAME=findItemsByKeywords&keywords=baseball") 22 .then(response => (this.info = response.data)) 23 } 24 25 } 26} 27</script>

vue.config.js

1module.exports = { 2 devServer: { 3 proxy: "http://api.**.com" 4 } 5 };

実現したいこと

Vue CLI(axios)+Netlifyを使い、さらにauth0も導入しているものにログインし、ログインした状態で外部APIを利用したい

問題点等

Vue CLI(axios,netlify)を使い、auth0からログインして、外部APIからデータを取得しようとすると、Google Chromeデベロッパーツールでエラーが表示されてしまいます。

http://api.**.com(外部APIのドメイン)

が、

http://***.netlify.app(netlifyのドメイン)

と表示されています。

###補足
VueCLIにAuth0を組み込みを行う際は、リダイレクト認証させてます。
「npm install @auth0/auth0-spa-js」で、SDKのインストールを行っています。

こちらの記事を参考にしてます。

https://blog.serverworks.co.jp/vue-autho-authentification

試したこと

調べてみると、Netlifyでは、WebサーバーのProxyが使えないので、Netlifyのrewrite機能を使って対処するといった記事を見つけて、Vue CLIで作成したアプリ内の「public」の「_redirects」のフォルダを作り、「netlify.toml」というファイルを作成して、デプロイしてみましたが、rewrite機能が使えませんでした。netlify.tomlの書き方があっているのかは微妙です。

netlify.toml

1[[redirects]] 2 from = "/services" 3 to = "http://api.**.com/" 4 status = 200 5 force = true

他にも、CORS・クロスドメインによるエラーだと思い、auth0のCORSなども調整してみましたが、うまくいきませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

plasticgrammer

2020/12/14 05:30 編集

Auth0がエラーと関係しているのかわかりませんが、一応確認させてください。 NetlifyとAuth0の連携は、Netlify側のサードパーティ製のJWTとしてAuth0を設定している※という理解で正しいでしょうか。 ※下記リンク先の「Using third-party JWT Providers on your Netlify site」の設定 https://www.netlify.com/blog/2018/01/23/getting-started-with-jwt-and-identity/
kazu0905

2020/12/14 19:49 編集

すみません。「JWT」というものがあること自体、初めて知りました。NetlifyとAuth0の連携は行っていないはずです。 一応、「補足」という形でVueCLIにAuth0を組み込みを行った状況を追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問