Filippo Bertilotti
7 days ago 4532f1c4e89a1c662ce15fee6bbf30650d632366
Merge branch 'main' of https://blit.dubbidigitali.it/r/~fbertilotti/fakesso
2 files added
3 files modified
60 ■■■■■ changed files
app/Http/Controllers/Profiles/ProfilesController.php 10 ●●●● patch | view | raw | blame | history
app/Http/Requests/SSOFormRequest.php 3 ●●●● patch | view | raw | blame | history
app/Vola/Services/VolaFakeHTTPResponder/VolaFakeHTTPResponder.php 15 ●●●●● patch | view | raw | blame | history
resources/views/vodafone_fake_sso/response_templates/legacy/getWebcustomerInformation.blade.php 19 ●●●●● patch | view | raw | blame | history
resources/views/vodafone_fake_sso/response_templates/picasso/getWebcustomerInformation.blade.php 13 ●●●●● patch | view | raw | blame | history
app/Http/Controllers/Profiles/ProfilesController.php
@@ -10,7 +10,6 @@
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Ramsey\Uuid\Provider\Time\FixedTimeProvider;
class ProfilesController extends Controller
{
@@ -18,8 +17,11 @@
    public function __construct(Request $request)
    {
        $this->authorized = true;
        if (in_array($request->ip(),config('devtools.access_whitelist',[]))) {
            $this->authorized = true;
        } else {
            return response()->json(["status" => 401, "response" => "unauthorized"]);
        }
    }
    public function getFakeSSO(Request $request)
@@ -85,9 +87,11 @@
        $productsList = $databaseHandler->readProducts();
        return view('vodafone_fake_sso.show-write-view', [ 'productsList' => $productsList ]);
    }
    public function saveUser(SSOFormRequest $request) {
        $data = $request->all();
        $databaseHandler = new FakeSSODatabaseHandler;
        $databaseHandler->insertDataIntoTables($data);
        return view("vodafone_fake_sso.db-create-view");
    }
app/Http/Requests/SSOFormRequest.php
@@ -2,6 +2,7 @@
namespace App\Http\Requests;
use App\Rules\Base64String;
use Illuminate\Foundation\Http\FormRequest;
class SSOFormRequest extends FormRequest
@@ -24,7 +25,7 @@
    public function rules()
    {
        return [
            'EmailAddress' => 'required|email|not_regex:/<[^>]+?>/',
            'EmailAddress' => ['required', 'email', new ScriptCheck()],
            'Name' => 'required|not_regex:/<[^>]+?>/',
            'Surname' => 'required|not_regex:/<[^>]+?>/',
            'sim_1' => 'digits_between:10,10|not_regex:/<[^>]+?>/'
app/Vola/Services/VolaFakeHTTPResponder/VolaFakeHTTPResponder.php
@@ -2,6 +2,7 @@
namespace App\Vola\Services\VolaFakeHTTPResponder;
use App\Models\VodafoneUser;
use App\Vola\Classes\Utils;
use Cookie;
use GuzzleHttp\Promise\RejectedPromise;
@@ -15,9 +16,14 @@
    public array $data;
    private array $xmlResponses;
    protected string $pathTemplateFolderLegacy;
    protected string $pathTemplateFolderPicasso;
    public function __construct()
    {
        $this->xmlResponses = config('devtools.fake_sso_profiles');
        $this->pathTemplateFolderLegacy = 'response_templates.legacy';
        $this->pathTemplateFolderPicasso = 'response_templates.picasso';
    }
    public function getModelBasedResponses(Request $request): array
@@ -27,7 +33,7 @@
        if (isset($profile)) {
            $responseContent["data"] = 'test. funziono ma le logiche non sono state ancora implementate';
            $responseContent["data"] = $this->fillXmlResponses($profile, $picassoRequest);
            $responseContent["status"] = 200;
            \RequestLogger::logProcessedRequest($request, $responseContent, (($picassoRequest) ? 'Picasso' : 'SSO Legacy') );
            return $responseContent;
@@ -42,6 +48,13 @@
    }
    public function fillXMLResponses(string $profile, bool $picasso): string
    {
        $user = VodafoneUser::where(['id' => $profile]);
        $viewFolder = ($picasso) ? $this->pathTemplateFolderPicasso : $this->pathTemplateFolderLegacy;
        return view($viewFolder, ['user' => $user])->render(); //views/response_templates/legacy/*.blade.php ?? *.xml
    }
    public function getResponses(Request $request, $selectedUser, $picasso = false): string|array
    {
            $uriParts = explode("?", $request->url());
resources/views/vodafone_fake_sso/response_templates/legacy/getWebcustomerInformation.blade.php
New file
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<getWebCustomerInformation>
    <EmailAddress>{{$email}}</EmailAddress>
    <Sex></Sex>
    <Surname>DoppiaSim</Surname>
    <BirthProvinceName>LUCCA</BirthProvinceName>
    <BirthPlace>VIAREGGIO</BirthPlace>
    <Type_ID>2</Type_ID>
    <Birthdate>Fri Apr 16 00:00:00 MET 1971</Birthdate>
    <HomeProvinceName>LUCCA</HomeProvinceName>
    <Custcode>5.123123</Custcode>
    <ProfileIdentifier>BUSINESS_EMPLOYEE</ProfileIdentifier>
    <MicroBusiness>false</MicroBusiness>
    <HomePhone></HomePhone>
    <Address>VIA BERNARDINO</Address>
    <FiscalCode>MNCCST71D16L833U</FiscalCode>
    <Name>DoppiaSim</Name>
    <Username>DoppiaSim</Username>
</getWebCustomerInformation>
resources/views/vodafone_fake_sso/response_templates/picasso/getWebcustomerInformation.blade.php
New file
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<getWebCustomerInformation>
    <errorCode>0</errorCode>
    <Surname>DoppiaSim</Surname>
    <Name>DoppiaSim</Name>
    <Username>DoppiaSim</Username>
    <EmailAddress>davide.cucurnia@vola.it</EmailAddress>
    <BirthProvinceName>Non disponibile</BirthProvinceName>
    <HomeProvinceName>Non disponibile</HomeProvinceName>
    <Custcode>5.123123</Custcode>
    <MicroBusiness>false</MicroBusiness>
    <ProfileIdentifier>BUSINESS_EMPLOYEE</ProfileIdentifier>
</getWebCustomerInformation>'