2026-05-27 12:08:49 +00:00

56 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Session;
use App\Utilities\ApiCalls;
class SsoController extends Controller
{
public function validateToken(Request $request)
{
$plainToken = $request->input('token');
// dd(plainToken);
\Log::info("New Request : $plainToken");
if (!$plainToken) {
return response()->json(['valid' => false], 400);
}
$hashedToken = hash('sha256', $plainToken);
\Log::info("hashed Token : $hashedToken");
$session = DB::table('sso_sessions')->where('token', $hashedToken)->first();
\Log::info("session : " . json_encode($session));
if ($session){
$check_user_url = 'user_mgt/get_user_by_user_id.php';
$data = ['user_id' => $session->user_id, 'api_token' => env('LUPMISAPIKEY')];
$check_user = ApiCalls::CurlPost(json_encode($data), $check_user_url);
if($check_user == false){
\Log::info("User not found : $hashedToken");
return response()->json(['valid' => false], 401);
}
$result = json_decode($check_user, true);
if($result['success'] == false){
return response()->json(['valid' => false], 401);
}
// if($result['data']['is_disabled'] == true){
// return response()->json(['valid 099' => false], 401);
// }
$logged_in = $result['data'];
return response()->json([
'valid' => true,
'logged_in_user' => $logged_in
], 200);
}
return response()->json(['valid 0123' => false], 401);
}
}