middleware('auth')->except('index'); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { return view('auth.login'); } public function login(Request $request) { $post = $request->except('_token'); $response = LambdaRequest::postrequest('ums', 'auth/login', $post); //echo '
'; print_r($response); exit;
        if($response->statusCode == 200 && $response->status == "success") {
            $request->session()->put('logindetails', $post);
            return redirect('/loginotp');
        } else {
            return redirect('/login')->withError($response->message);
        }
    }

    public function loginotp(Request $request)
    {
        return view('auth.loginotp');
    }

    public function postloginotp(Request $request)
    {
        $post = $request->except('_token');
        $logindetails = $request->session()->get('logindetails');
        $post['email'] = $logindetails['email'];
        $post['domain'] = $logindetails['domain'];
        $post['device'] = 'portal';
        $response = LambdaRequest::postrequest('ums', 'auth/verify', $post);
        //echo '
'; print_r($response); exit;
        //Log::debug(print_r($response, true));
        if($response->statusCode == 200 && $response->status == "success") {
            User::updateOrCreate(
                ['email' => $response->data->user->domain . '-' . $response->data->user->email],
                ['user_id' => $response->data->user->id,
                'name' => $response->data->user->name,
                'domain' => $response->data->user->domain,
                'password' => Hash::make('password'),
                'avatar' => isset($response->data->user->avatar)?$response->data->user->avatar:'https://ui-avatars.com/api/?background=random&name='.$response->data->user->name,
                'refresh_token' => $response->data->refresh_token,
                'access_token' => $response->data->access_token,
                'permissions' => json_encode($response->data->permissions)
                ]);
            Auth::attempt(['email' => $response->data->user->domain . '-' . $response->data->user->email, 'password' => 'password']);
            return redirect('/');
        } else {
            return redirect('/loginotp')->with('message', $response->message);
        }
    }

    public function logout(Request $request)
    {
        Auth::guard('web')->logout();
        $request->session()->invalidate();
        $request->session()->regenerateToken();
        return redirect('/');
    }
}