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