davide.cucurnia@vola.it
2024-02-08 d5d253a98cabfe8f57335a2805120335d5ab265d
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']),
d5d253 27                 "loggedInfo" => Utils::getLoggedUser($request),
9f6455 28                 "setUrl" => "/set",
DC 29                 "clearUrl" => "/clear"
30             ]);
31         }
32     }
33
34     public function setFakeSSO(Request $request)
35     {
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         $domain = Utils::getDomain($_SERVER['SERVER_NAME']);
54         if ($this->authorized) {
55             @setcookie('mc_FakeSSO', "", -1, "/", $domain);
56             @setcookie('SSOSESSIONID', "", -1, "/", $domain);
57             @setcookie('CAuthCookie', "", -1, "/", $domain);
58             @setcookie('ObSSOCookie', "", -1, "/", $domain);
59             @setcookie('vodafone_token', "", -1, "/", $domain);
60             @setcookie('vodafone_name', "", -1, "/", $domain);
61             return response()->json(["status" => 200, "response" => "OK"]);
62         }
63     }
64
65     public function createView()
66     {
67         $defaultXML = \Arr::first(config('devtools.fake_sso_profiles'));
68         $data = [
ca6434 69             "sso_getWebcustomerInformation" => \Arr::first($defaultXML["sso"]["getWebcustomerInformation"]["parametri"]["k"]),
D 70             "sso_getMSISDNDetails" => \Arr::first($defaultXML["sso"]["getMSISDNDetails"]["parametri"]["k"]),
71             "sso_getMSISDNList" => \Arr::first($defaultXML["sso"]["getMSISDNList"]["parametri"]["k"]),
9f6455 72             "sso_getSelectedMSISDNDetails" => \Arr::first($defaultXML["sso"]["getSelectedMSISDNDetails"]["parametri"]["ms"]),
DC 73             "sso_getInfoActivationWSC" => \Arr::first($defaultXML["sso"]["getInfoActivationWSC"]["parametri"]["boID"]),
ca6434 74             "picasso_getWebcustomerInformation" => \Arr::first($defaultXML["picasso"]["getWebcustomerInformation"]["parametri"]["k"]),
9f6455 75         ];
DC 76         return view('vodafone_fake_sso.create-view', $data);
77     }
78 }