Laravel 5.8使用外部用户信息进行用户身份验证

时间:2019-08-09 10:37:10

标签: laravel laravel-passport laravel-authorization laravel-authentication

我正在从外部站点提取用户信息。我已经完成了Laravel上的用户登录路线,并且从控制器文件中获取了数据。从外部链接中提取和显示数据没有问题。

在外部用户登录验证之后,我实际上并不知道如何使用中间件,防护,会话等。我需要有人来指导我解决这个问题。

已安装Laravel 5.8 uzz 护照

我的更改如下:

我的ApiController文件

public function loginData(Request $request)
    {

        $password = $request->password;
        $email = $request->email;
        $apiman = "Bearer {$this->accesstokenApi()}";
        $client = new Client();
        $response = $client->post('https://externalapiurl.com/api/v1/UserProfile/', [
            'headers' => 
            [
                'postman-token' => 'b2ddea32-1620-5b54-3835-40fb288981e8',
                'cache-control' => 'no-cache', 
                'authorization' => $apiman, 
                'content-type'  => 'application/json'
            ],
            'json' => 
            [
                'Email' => $email,
                'Password' => $password
            ],

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


        if ($data['ResponseType']=="Ok") {
            session()->put('token', $data);
            return redirect('/user-detail');
            // return view('user.profile')->with(compact('data'));





        } else {
            return response()->json([
                'success' => false,
                'message' => 'Invalid Email or Password',
            ], 401);
        }
    }

我从登录页面收到数据。好吧,没问题

然后使用会话中的数据重定向另一个类

public function getAuthUser(Request $request)
    {
        $data = $request->session()->all();


        return view('user.profile')->with(compact('data'));

    } //getAuthUser

工作正常

路由文件

web.php

Route::get('login', 'ApiController@loginForm')->name('show.login');
Route::post('login', 'ApiController@loginData')->name('login');
Route::post('password', 'ApiController@passwordChange')->name('password.request');

当我使用

Route::group(['middleware' => ['auth:api']], function () {
    Route::get('user-detail', 'ApiController@getAuthUser')->name('user.profile');
});

我收到419错误页面

0 个答案:

没有答案