Filippo Bertilotti
7 days ago 7146e93c75c6215af79fbfe523b7da0e339ec64a
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     }
56f8c8 83
758c96 84     public function showView()
56f8c8 85     {
fcae3d 86         $databaseHandler = new FakeSSODatabaseHandler;
FB 87         $productsList = $databaseHandler->readProducts();
88         return view('vodafone_fake_sso.show-write-view', [ 'productsList' => $productsList ]);
56f8c8 89     }
FB 90
0991a9 91     public function saveUser(SSOFormRequest $request) {
42e9ce 92         $data = $request->all();
13f6a9 93         $databaseHandler = new FakeSSODatabaseHandler;
fbce03 94         $databaseHandler->insertDataIntoTables($data);
d2a091 95         return view("vodafone_fake_sso.db-create-view");
488dbe 96     }
42e9ce 97
9f6455 98 }