davide.cucurnia@vola.it
2024-01-31 7c54fa9452d45da2b8a791704cfb62635e7e3c13
commit | author | age
9f6455 1 <?php
DC 2
3 namespace App\Http\Controllers\Profiles;
4
5 use App\Http\Controllers\Controller;
6 use App\Vola\Classes\Utils;
7 use Illuminate\Http\Request;
8
9 class ProfilesController extends Controller
10 {
11     public bool $authorized = false;
12
13     public function __construct(Request $request)
14     {
15         if (in_array($request->ip(),config('devtools.access_whitelist',[]))) {
16             $this->authorized = true;
17         } else {
18             return response()->json(["status" => 401, "response" => "unauthorized"]);
19         }
20     }
21
22     public function getFakeSSO(Request $request)
23     {
24         if ($this->authorized) {
25             return view('vodafone_fake_sso.choose_profile', [
55f8f9 26                 "domain" => Utils::getDomain($_SERVER['SERVER_NAME']),
9f6455 27                 "setUrl" => "/set",
DC 28                 "clearUrl" => "/clear"
29             ]);
30         }
31     }
32
33     public function setFakeSSO(Request $request)
34     {
35         \Log::channel('sso')->debug("Attivo la sessione FakeSSO");
36         if ($this->authorized) {
37             $json = $request->json()->all();
38             $expire = time() + (60 * 30);
39             $prof = isset($json['prof']) ? $json['prof'] : 0;
40             $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
41             @setcookie('mc_FakeSSO', "xno:$prof", $expire, "/", $domain);
42             @setcookie('SSOSESSIONID', "xno:$prof", $expire, "/", $domain);
43             @setcookie('ObSSOCookie', "xno:$prof", $expire, "/", $domain);
44             @setcookie('CAuthCookie', "xno:$prof", $expire, "/", $domain);
45             @setcookie('vodafone_token', "415F2B31F1C15FA45C9A6E1CBEB0ADF3", $expire, "/", $domain);
46             @setcookie('vodafone_name', "fake_sso", $expire, "/", $domain);
47             return response()->json(["status" => 200, "response" => "OK"]);
48         }
49     }
50
51     public function clearFakeSSO(Request $request)
52     {
53         \Log::channel('sso')->debug("Rimuovo la sessione FakeSSO");
54         $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
55         if ($this->authorized) {
56             @setcookie('mc_FakeSSO', "", -1, "/", $domain);
57             @setcookie('SSOSESSIONID', "", -1, "/", $domain);
58             @setcookie('CAuthCookie', "", -1, "/", $domain);
59             @setcookie('ObSSOCookie', "", -1, "/", $domain);
60             @setcookie('vodafone_token', "", -1, "/", $domain);
61             @setcookie('vodafone_name', "", -1, "/", $domain);
62             return response()->json(["status" => 200, "response" => "OK"]);
63         }
64     }
65
66     public function createView()
67     {
68         $defaultXML = \Arr::first(config('devtools.fake_sso_profiles'));
69         $data = [
70             "sso_getWebcustomerInformation" => \Arr::first($defaultXML["sso"]["getWebcustomerInformation"]["parametri"]["t"]),
71             "sso_getMSISDNDetails" => \Arr::first($defaultXML["sso"]["getMSISDNDetails"]["parametri"]["t"]),
72             "sso_getMSISDNList" => \Arr::first($defaultXML["sso"]["getMSISDNList"]["parametri"]["t"]),
73             "sso_getSelectedMSISDNDetails" => \Arr::first($defaultXML["sso"]["getSelectedMSISDNDetails"]["parametri"]["ms"]),
74             "sso_getInfoActivationWSC" => \Arr::first($defaultXML["sso"]["getInfoActivationWSC"]["parametri"]["boID"]),
75             "picasso_getWebcustomerInformation" => \Arr::first($defaultXML["picasso"]["getWebcustomerInformation"]["parametri"]["t"]),
76         ];
77         return view('vodafone_fake_sso.create-view', $data);
78     }
79 }