我对Laravel 5.5 Passport API身份验证有一个非常奇怪的问题.
我需要允许外部站点通过"隐式授权令牌"方法进行身份验证,并从API获取数据.
我坚持认证.JavaScript向API发送一个AJAX请求,但它得到的全部是401(未授权)错误(而不是令牌).
设置是通过本书(https://laravel.com/docs/5.5/passport#implicit-grant-tokens)
Fresh Laravel 5.5安装
Laravel CORS添加了https://github.com/barryvdh/laravel-cors
Passport包安装 composer require laravel/passport
移民 php artisan migrate
护照安装 php artisan passport:install
App\User 模型调整
AuthServiceProvider 调整
config/auth.php 调整
使用创建的示例客户端 php artisan passport:client
Passport::enableImplicitGrant(); 添加到 AuthServiceProviderJS看起来像这样:
var serialize = function(obj) {
var str = [];
for (var key in obj)
if (obj.hasOwnProperty(key)) {
str.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]));
}
return str.join("&");
}
var request = new XMLHttpRequest();
var data = {
'client_id': '1',
'response_type': 'token', …Run Code Online (Sandbox Code Playgroud) php authentication http-status-code-401 laravel laravel-passport