gpt4 book ai didi

laravel 5.6 护照。 postman 加载无输出

转载 作者:行者123 更新时间:2023-12-04 15:49:08 24 4
gpt4 key购买 nike

我正在尝试构建一个身份验证端点,当用户使用 Laravel 5.6 进行身份验证时,该端点将返回用户的 key 。

当使用 localhost:8000Postman 上进行测试时,我发现它接受请求但无法输出任何内容。 please click here to see the image .

看看下面的 AuthController:

    <?php

namespace App\Http\Controllers\Api;

use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;
use Hash;

class AuthController extends Controller
{
public function register(Request $request)
{

$request->validate([
'email' => 'required',
'name' => 'required',
'password' => 'required'
]);

$user = User::firstOrNew(['email' => $request->email]);

$user->name = $request->name;
$user->email = $request->email;
$user->password = bcrypt($request->password);
$user->save();

$http = new Client;

$response = $http->post(url('oauth/token'), [
'form_params' => [
'grant_type' => 'password',
'client_id' => '2',
'client_secret' =>'5G7yDJFNDsqzVNSJU85ff8DWW6EiKFLGXDDmMmt9',
'username' => $request->email,
'password' => $request->password,
'scope' => '',
],
]);

return response(['data'=>json_decode((string)$response->getBody(),true)]);

}
public function login(Request $request)
{

$request->validate([
'email' => 'required',
'password' => 'required'
]);
$user = User::where('email', $request->email)->first();
if (!$user) {
return response(['status' => 'error', 'message' => 'user not found']);
}
if (Hash::check($request->password, $user->password)) {

$http = new Client;

$response = $http->post(url('oauth/token'), [
'form_params' => [
'grant_type' => 'password',
'client_id' => '2',
'client_secret' => 'JhzSRlU6dnJxI1vb8MpWWksjaOo3AdyuL3Mm6ANf',
'username' => $request->email,
'password' => $request->password,
'scope' => '',
],
]);

}
}
}

这是用户模型的代码

    <?php

namespace App;

use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use HasApiTokens, Notifiable;

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];

/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}

这是api的代码

    <?php

use Illuminate\Http\Request;


Route::post('/register', 'Api\AuthController@register');
Route::post('/login', 'Api\AuthController@login');

Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});

最佳答案

这里的第一件事是,您可以按如下方式更改 postman 请求,

  1. 按如下方式添加 header 。 image1
  2. 将正文添加为表单数据 image2

最重要的是检查你的端口是否正确,确保 laravel 服务器正在运行。默认端口是端口 8000。然后你的 url 应该形成为

http://localhost:8000/api/register (note that this url is only an example format)

尝试进行上述更改并向我们提供您所得到的。认为这可能有所帮助。

谢谢

关于laravel 5.6 护照。 postman 加载无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54583838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com