davide.cucurnia@vola.it
2024-02-01 555a537e2e5d9220e3777c30b185606823c817f2
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         if ($this->authorized) {
36             $json = $request->json()->all();
37             $expire = time() + (60 * 30);
38             $prof = isset($json['prof']) ? $json['prof'] : 0;
39             $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
40             @setcookie('mc_FakeSSO', "xno:$prof", $expire, "/", $domain);
41             @setcookie('SSOSESSIONID', "xno:$prof", $expire, "/", $domain);
42             @setcookie('ObSSOCookie', "xno:$prof", $expire, "/", $domain);
43             @setcookie('CAuthCookie', "xno:$prof", $expire, "/", $domain);
44             @setcookie('vodafone_token', "415F2B31F1C15FA45C9A6E1CBEB0ADF3", $expire, "/", $domain);
45             @setcookie('vodafone_name', "fake_sso", $expire, "/", $domain);
46             return response()->json(["status" => 200, "response" => "OK"]);
47         }
48     }
49
50     public function clearFakeSSO(Request $request)
51     {
52         $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
53         if ($this->authorized) {
54             @setcookie('mc_FakeSSO', "", -1, "/", $domain);
55             @setcookie('SSOSESSIONID', "", -1, "/", $domain);
56             @setcookie('CAuthCookie', "", -1, "/", $domain);
57             @setcookie('ObSSOCookie', "", -1, "/", $domain);
58             @setcookie('vodafone_token', "", -1, "/", $domain);
59             @setcookie('vodafone_name', "", -1, "/", $domain);
60             return response()->json(["status" => 200, "response" => "OK"]);
61         }
62     }
63
64     public function createView()
65     {
66         $defaultXML = \Arr::first(config('devtools.fake_sso_profiles'));
67         $data = [
68             "sso_getWebcustomerInformation" => \Arr::first($defaultXML["sso"]["getWebcustomerInformation"]["parametri"]["t"]),
69             "sso_getMSISDNDetails" => \Arr::first($defaultXML["sso"]["getMSISDNDetails"]["parametri"]["t"]),
70             "sso_getMSISDNList" => \Arr::first($defaultXML["sso"]["getMSISDNList"]["parametri"]["t"]),
71             "sso_getSelectedMSISDNDetails" => \Arr::first($defaultXML["sso"]["getSelectedMSISDNDetails"]["parametri"]["ms"]),
72             "sso_getInfoActivationWSC" => \Arr::first($defaultXML["sso"]["getInfoActivationWSC"]["parametri"]["boID"]),
73             "picasso_getWebcustomerInformation" => \Arr::first($defaultXML["picasso"]["getWebcustomerInformation"]["parametri"]["t"]),
74         ];
75         return view('vodafone_fake_sso.create-view', $data);
76     }
77 }