Filippo Bertilotti
2024-07-26 2bfce618a9d3b4cd86be2acd551a56aa45800efd
commit | author | age
9f6455 1 <?php
DC 2
3 namespace App\Http\Controllers\Profiles;
4
5 use App\Http\Controllers\Controller;
0991a9 6 use App\Http\Requests\SSOFormRequest;
42e9ce 7 use App\Models\VodafoneUser;
9f6455 8 use App\Vola\Classes\Utils;
42e9ce 9 use App\Vola\Services\FakeSSODatabase\FakeSSODatabaseHandler;
FB 10 use Exception;
9f6455 11 use Illuminate\Http\Request;
42e9ce 12 use Illuminate\Support\Facades\DB;
9f6455 13
DC 14 class ProfilesController extends Controller
15 {
16     public bool $authorized = false;
17
18     public function __construct(Request $request)
19     {
20         if (in_array($request->ip(),config('devtools.access_whitelist',[]))) {
21             $this->authorized = true;
22         } else {
23             return response()->json(["status" => 401, "response" => "unauthorized"]);
24         }
25     }
26
27     public function getFakeSSO(Request $request)
28     {
29         if ($this->authorized) {
30             return view('vodafone_fake_sso.choose_profile', [
55f8f9 31                 "domain" => Utils::getDomain($_SERVER['SERVER_NAME']),
d5d253 32                 "loggedInfo" => Utils::getLoggedUser($request),
9f6455 33                 "setUrl" => "/set",
DC 34                 "clearUrl" => "/clear"
35             ]);
36         }
37     }
38
39     public function setFakeSSO(Request $request)
40     {
41         if ($this->authorized) {
42             $json = $request->json()->all();
43             $expire = time() + (60 * 30);
44             $prof = isset($json['prof']) ? $json['prof'] : 0;
45             $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
46             @setcookie('mc_FakeSSO', "xno:$prof", $expire, "/", $domain);
47             @setcookie('SSOSESSIONID', "xno:$prof", $expire, "/", $domain);
48             @setcookie('ObSSOCookie', "xno:$prof", $expire, "/", $domain);
49             @setcookie('CAuthCookie', "xno:$prof", $expire, "/", $domain);
50             @setcookie('vodafone_token', "415F2B31F1C15FA45C9A6E1CBEB0ADF3", $expire, "/", $domain);
51             @setcookie('vodafone_name', "fake_sso", $expire, "/", $domain);
52             return response()->json(["status" => 200, "response" => "OK"]);
53         }
54     }
55
56     public function clearFakeSSO(Request $request)
57     {
58         $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
59         if ($this->authorized) {
60             @setcookie('mc_FakeSSO', "", -1, "/", $domain);
61             @setcookie('SSOSESSIONID', "", -1, "/", $domain);
62             @setcookie('CAuthCookie', "", -1, "/", $domain);
63             @setcookie('ObSSOCookie', "", -1, "/", $domain);
64             @setcookie('vodafone_token', "", -1, "/", $domain);
65             @setcookie('vodafone_name', "", -1, "/", $domain);
66             return response()->json(["status" => 200, "response" => "OK"]);
67         }
68     }
69
70     public function createView()
71     {
72         $defaultXML = \Arr::first(config('devtools.fake_sso_profiles'));
73         $data = [
ca6434 74             "sso_getWebcustomerInformation" => \Arr::first($defaultXML["sso"]["getWebcustomerInformation"]["parametri"]["k"]),
D 75             "sso_getMSISDNDetails" => \Arr::first($defaultXML["sso"]["getMSISDNDetails"]["parametri"]["k"]),
76             "sso_getMSISDNList" => \Arr::first($defaultXML["sso"]["getMSISDNList"]["parametri"]["k"]),
9f6455 77             "sso_getSelectedMSISDNDetails" => \Arr::first($defaultXML["sso"]["getSelectedMSISDNDetails"]["parametri"]["ms"]),
DC 78             "sso_getInfoActivationWSC" => \Arr::first($defaultXML["sso"]["getInfoActivationWSC"]["parametri"]["boID"]),
ca6434 79             "picasso_getWebcustomerInformation" => \Arr::first($defaultXML["picasso"]["getWebcustomerInformation"]["parametri"]["k"]),
9f6455 80         ];
42e9ce 81          return view('vodafone_fake_sso.create-view', $data);
9f6455 82     }
42e9ce 83     
0991a9 84     public function saveUser(SSOFormRequest $request) {
42e9ce 85         $data = $request->all();
FB 86         //VodafoneUser::save(["Name" => "Paolo", "Surname" => "Test", "EmailAddress" => "paolotest@test.it"]);
6aea63 87         $databaseHandler = new FakeSSODatabaseHandler;
FB 88
89         $databaseHandler->insertDataIntoTables($data);
90         
d2a091 91         return view("vodafone_fake_sso.db-create-view");
488dbe 92     }
42e9ce 93
9f6455 94 }