使用GET请求的GuzzleHttp Laravel登录API [英] GuzzleHttp Laravel login API using GET request

查看:358
本文介绍了使用GET请求的GuzzleHttp Laravel登录API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建用于用户注册和登录的Laravel REST API.我创建了用于注册的POST方法.现在,我想使用GET方法通过GuzzleHttp登录.我怎样才能做到这一点? 我的路线:

I want to create Laravel REST API for user registration and login. I created POST method for registration. Now I want to use GET method for login using GuzzleHttp. How can I do that? My routes:

Route::group(['middleware' => 'api'], function() {
Route::group(['prefix' => 'v1'], function () {
    Route::post('/register', 'Api\V1\AuthController@register')->name('user.register');
    Route::get('/signin', 'Api\V1\AuthController@signin')->name('user.signin');
});

});

这是我的控制器:

namespace App\Http\Controllers\Api\V1;

use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\JWTAuth;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;

    class AuthController extends Controller
    {
         public function register(Request $request)
        {
            $this->validate($request, [
                'name' => 'required',
                'email' => 'required|email',
                'password' => 'required|min:5'
            ]);

            $name = $request->input('name');
            $email = $request->input('email');
            $password = $request->input('password');

            $user = new User([
                'name' => $name,
                'email' => $email,
                'password' => bcrypt($password)
            ]);

            if($user->save()){
                $response = [
                    'msg' => 'User created',
                    'user' => $user
                ];

                return response()->json($response, 201);
            }

            $response = [
                'msg' => 'Error occured'
            ];

            return response()->json($response, 404);
        }

        public function signin(Request $request)
        {
            $client = new GuzzleHttp\Client();
            $this->validate($request, [
                'email' => 'required|email',
                'password' => 'required'
            ]);
        }    
    }

任何人都做了这样的事情.提前致谢.

Anyone did something like this. Thanks in advance.

推荐答案

访问signin路由,例如http://your.domain/signin?email=cool@email.com&password=fooandbar

访问emailpassword参数

使用$request->email$request->password

这篇关于使用GET请求的GuzzleHttp Laravel登录API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆