2017-03-27 9 views
0

私はaxiosを使用して、ユーザーがログインする必要があるデータを要求しています。私は401を取得するためにいくつかのことを試しましたが、 APIはサブドメイン上にあり、問題が発生している可能性があります。私はまた、セッションを.domain.tldに設定しました。WebからAPIルートにアクセスする際のパスポート認証エラー

\Laravel\Passport\Http\Middleware\CreateFreshApiToken::classはウェブミドルウェアにあります。私がパスポートのデモを使用するとき、承認はうまくいきます。しかし、AxiosリクエストをサブドメインのAPIルートに送信すると、デモがウェブルートに送信するSet-Cookieヘッダーはありません。私はまた、運もないとwindow.axios.defaults.headers.common['Authorization'] = 'Bearer (laravel_token here)を入れてみました。

APIエンドポイント(apiサブドメイン)をLaravelのアプリ内パスポート認証で使用するにはどうすればよいですか?

答えて

0

それを実感してください! AxiosでwithCredentialsを有効にするために必要です。

axios.defaults.withCredentials = true; 
1

Axios自体に問題がある可能性があります。代わりにGuzzleを使用して、その腋窩の可能性を除外します。

$http = new \GuzzleHttp\Client; 
$response = $http->request('POST', 'your api url here', [ 
      'headers' => [ 
       'Accept' => 'application/json', 
       'Authorization' => 'Bearer '.$access_token, 
      ], 
      'form_params'=>[ 
       //if you have any data to send as a post request then put it here. 
      ] 
     ]); 

Acceptパラメータも設定します。ロールを与えてください。

+0

これは後で試すことができます。しかし、私の疑惑は、Axisを使用しているときにAuthorizationヘッダーがその形式で送信されているのを見たため、まだ動作しないということです。 –