From 42fdeb75b19de731e59eb312c5a0cb9d6cfc69eb Mon Sep 17 00:00:00 2001 From: teegsh2 Date: Thu, 8 Aug 2024 19:59:19 +0530 Subject: [PATCH] Adding customized getAuthriozation json response --- .../MVMCore/LoadHandling/MVMCoreLoadHandler.m | 170 ++++++++++++++++++ .../MVMCoreLoadRequestOperation.m | 4 + 2 files changed, 174 insertions(+) diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m index a4baf05..332ea47 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m @@ -285,6 +285,7 @@ - (nullable NSURLSessionTask *)sendRequest:(nonnull NSURLRequest *)request requestParameters:(nonnull MVMCoreRequestParameters *)requestParameters locationForError:(nonnull NSString *)locationForError requestFinished:(nullable void (^)(id _Nullable jsonObject, MVMCoreErrorObject *_Nullable error))requestFinished { + __block NSMutableDictionary * PageMapgetAuthDicChange = nil; #if ENABLE_HARD_CODED_RESPONSE NSDictionary *response = [[MFHardCodedServerResponse sharedInstance] getHardCodedResponseForRequest:requestParameters]; if (response) { @@ -334,6 +335,102 @@ id jsonObject = nil; MVMCoreErrorObject *errorObject = nil; + + // + + NSDictionary *dict0 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"punchOutFlow=L2;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict1 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"punchOutFlow=L2;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict2 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"punchOutFlow=L2;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict3 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"channelId=VZW-MFA;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"};\ + + NSDictionary *dict4 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"soeSessionID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict5 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"am_id=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict6 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"amID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict7 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"IDToken=eyJ0eXAiOiJKV1QiLCJraWQiOiJMdkdjYytqYlczcmQrMXhMTmlGQmNXY0UvK0U9IiwiYWxnIjoiUlMyNTYifQ.eyJmaWRvZ3VpZCI6IjA2Y2E5MjE5LTliOWQtNDJiYy04NGZhLTA5N2QwMTNiNzQ4ZSIsImF0X2hhc2giOiJIMzIwM0pURkRRY1RLeld4bnBsaW93Iiwic3ViIjoiZDQ1OTJmYjctNWYyZi00NTI0LWIwZWItNDE0ZTU5NDBjNzM3Iiwicm9sZSI6ImFjY291bnRIb2xkZXIiLCJhdWRpdFRyYWNraW5nSWQiOiI5NzNlZmYzNi00ODU1LTRlOGEtOTUxMS1hODQ4Yzk0NDlkNWYtMjgwMzc1MjEiLCJpc3MiOiJodHRwczovL3Nzb2FjY2Vzc21nci13ZXN0LWd6LnZwYy52ZXJpem9uLmNvbTo0NDMvaWFtL29hdXRoMi9tdmEiLCJ0b2tlbk5hbWUiOiJpZF90b2tlbiIsInFpZCI6IjMzIiwidWlkIjoiNzcwNjc2ODc4OFUiLCJhY3IiOiJhYWwtMiIsImF6cCI6Ik1WTUFnZW50IiwiaXMxdnppZEVsaWdpYmxlIjoiZmFsc2UiLCJhdXRoX3RpbWUiOjE3MjI5MzQ0MTUsImV4cCI6MTcyMjkzODAxNywiaWF0IjoxNzIyOTM0NDE3LCJhY2NvdW50bnVtYmVyIjoiMDQyNTgxNTYwNTAwMDAxIiwibXRuIjoiNzcwNjc2ODc4OCIsIm9wZW5pZCI6IiIsIm5vbmNlIjoiYWVkOTNmNWQtZjQyZC00OWRiLTk4NjYtMDBmNDQxZTkyOWRlIiwiYXVkIjoiTVZNQWdlbnQiLCJjX2hhc2giOiI1LWR1MGZZbEhyMTlZZkh0ZXdiT0dBIiwib3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0Lm9wcyI6IjRfR294MndyMDdYc1JjWXQyUThkZjRJckJCYyIsIm5hbWUiOiJNcnBydWR2aSIsInJlYWxtIjoiL212YSIsInRva2VuVHlwZSI6IkpXVFRva2VuIiwibG9iIjoidnp3In0.BcdpPFRamE74a5_24vjY3FzOPT1Kg8NDXezFF64Bj_K5GZ6cloIe0otUFUj74tYQgCpqibKBDH-Hknk-hsJTrAeuWoxkhao1K7CIiZeoHGXcwV3X2hK17G1nV89OmQea9zwjuTcrlrJTypik8Q_peHpAEMVRQ2s_Rbby5ggEHnRoInLkQaYZOR_CeH7U4iXh3Fz5HHcY6PdZOmFLGb8N8IS2HoKkCcHYE3yWXdeIkU89jDYQflq7oFyge-Od3RJSUxytl5StD9LsLk2R0YRBCB_ZfrenzP9Y8ydVEnMfkR9wbxd8hTC7iHZ8NCNLQxGYy0MdPPh3rfAmBgye0DZaEQ;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict8 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"mvansa=true;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict9 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"deviceAuthenticated=true;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict10 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"channelId=VZW-MFA;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict11 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"soeSessionID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict12 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"am_id=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict13 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"amID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict14 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"IDToken=eyJ0eXAiOiJKV1QiLCJraWQiOiJMdkdjYytqYlczcmQrMXhMTmlGQmNXY0UvK0U9IiwiYWxnIjoiUlMyNTYifQ.eyJmaWRvZ3VpZCI6IjA2Y2E5MjE5LTliOWQtNDJiYy04NGZhLTA5N2QwMTNiNzQ4ZSIsImF0X2hhc2giOiJIMzIwM0pURkRRY1RLeld4bnBsaW93Iiwic3ViIjoiZDQ1OTJmYjctNWYyZi00NTI0LWIwZWItNDE0ZTU5NDBjNzM3Iiwicm9sZSI6ImFjY291bnRIb2xkZXIiLCJhdWRpdFRyYWNraW5nSWQiOiI5NzNlZmYzNi00ODU1LTRlOGEtOTUxMS1hODQ4Yzk0NDlkNWYtMjgwMzc1MjEiLCJpc3MiOiJodHRwczovL3Nzb2FjY2Vzc21nci13ZXN0LWd6LnZwYy52ZXJpem9uLmNvbTo0NDMvaWFtL29hdXRoMi9tdmEiLCJ0b2tlbk5hbWUiOiJpZF90b2tlbiIsInFpZCI6IjMzIiwidWlkIjoiNzcwNjc2ODc4OFUiLCJhY3IiOiJhYWwtMiIsImF6cCI6Ik1WTUFnZW50IiwiaXMxdnppZEVsaWdpYmxlIjoiZmFsc2UiLCJhdXRoX3RpbWUiOjE3MjI5MzQ0MTUsImV4cCI6MTcyMjkzODAxNywiaWF0IjoxNzIyOTM0NDE3LCJhY2NvdW50bnVtYmVyIjoiMDQyNTgxNTYwNTAwMDAxIiwibXRuIjoiNzcwNjc2ODc4OCIsIm9wZW5pZCI6IiIsIm5vbmNlIjoiYWVkOTNmNWQtZjQyZC00OWRiLTk4NjYtMDBmNDQxZTkyOWRlIiwiYXVkIjoiTVZNQWdlbnQiLCJjX2hhc2giOiI1LWR1MGZZbEhyMTlZZkh0ZXdiT0dBIiwib3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0Lm9wcyI6IjRfR294MndyMDdYc1JjWXQyUThkZjRJckJCYyIsIm5hbWUiOiJNcnBydWR2aSIsInJlYWxtIjoiL212YSIsInRva2VuVHlwZSI6IkpXVFRva2VuIiwibG9iIjoidnp3In0.BcdpPFRamE74a5_24vjY3FzOPT1Kg8NDXezFF64Bj_K5GZ6cloIe0otUFUj74tYQgCpqibKBDH-Hknk-hsJTrAeuWoxkhao1K7CIiZeoHGXcwV3X2hK17G1nV89OmQea9zwjuTcrlrJTypik8Q_peHpAEMVRQ2s_Rbby5ggEHnRoInLkQaYZOR_CeH7U4iXh3Fz5HHcY6PdZOmFLGb8N8IS2HoKkCcHYE3yWXdeIkU89jDYQflq7oFyge-Od3RJSUxytl5StD9LsLk2R0YRBCB_ZfrenzP9Y8ydVEnMfkR9wbxd8hTC7iHZ8NCNLQxGYy0MdPPh3rfAmBgye0DZaEQ;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict15 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"mvansa=true;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict16 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"deviceAuthenticated=true;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict17 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"channelId=VZW-MFA;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict18 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"soeSessionID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict19 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"am_id=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict20 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"amID=aed93f5d-f42d-49db-9866-00f441e929de;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict21 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"IDToken=eyJ0eXAiOiJKV1QiLCJraWQiOiJMdkdjYytqYlczcmQrMXhMTmlGQmNXY0UvK0U9IiwiYWxnIjoiUlMyNTYifQ.eyJmaWRvZ3VpZCI6IjA2Y2E5MjE5LTliOWQtNDJiYy04NGZhLTA5N2QwMTNiNzQ4ZSIsImF0X2hhc2giOiJIMzIwM0pURkRRY1RLeld4bnBsaW93Iiwic3ViIjoiZDQ1OTJmYjctNWYyZi00NTI0LWIwZWItNDE0ZTU5NDBjNzM3Iiwicm9sZSI6ImFjY291bnRIb2xkZXIiLCJhdWRpdFRyYWNraW5nSWQiOiI5NzNlZmYzNi00ODU1LTRlOGEtOTUxMS1hODQ4Yzk0NDlkNWYtMjgwMzc1MjEiLCJpc3MiOiJodHRwczovL3Nzb2FjY2Vzc21nci13ZXN0LWd6LnZwYy52ZXJpem9uLmNvbTo0NDMvaWFtL29hdXRoMi9tdmEiLCJ0b2tlbk5hbWUiOiJpZF90b2tlbiIsInFpZCI6IjMzIiwidWlkIjoiNzcwNjc2ODc4OFUiLCJhY3IiOiJhYWwtMiIsImF6cCI6Ik1WTUFnZW50IiwiaXMxdnppZEVsaWdpYmxlIjoiZmFsc2UiLCJhdXRoX3RpbWUiOjE3MjI5MzQ0MTUsImV4cCI6MTcyMjkzODAxNywiaWF0IjoxNzIyOTM0NDE3LCJhY2NvdW50bnVtYmVyIjoiMDQyNTgxNTYwNTAwMDAxIiwibXRuIjoiNzcwNjc2ODc4OCIsIm9wZW5pZCI6IiIsIm5vbmNlIjoiYWVkOTNmNWQtZjQyZC00OWRiLTk4NjYtMDBmNDQxZTkyOWRlIiwiYXVkIjoiTVZNQWdlbnQiLCJjX2hhc2giOiI1LWR1MGZZbEhyMTlZZkh0ZXdiT0dBIiwib3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0Lm9wcyI6IjRfR294MndyMDdYc1JjWXQyUThkZjRJckJCYyIsIm5hbWUiOiJNcnBydWR2aSIsInJlYWxtIjoiL212YSIsInRva2VuVHlwZSI6IkpXVFRva2VuIiwibG9iIjoidnp3In0.BcdpPFRamE74a5_24vjY3FzOPT1Kg8NDXezFF64Bj_K5GZ6cloIe0otUFUj74tYQgCpqibKBDH-Hknk-hsJTrAeuWoxkhao1K7CIiZeoHGXcwV3X2hK17G1nV89OmQea9zwjuTcrlrJTypik8Q_peHpAEMVRQ2s_Rbby5ggEHnRoInLkQaYZOR_CeH7U4iXh3Fz5HHcY6PdZOmFLGb8N8IS2HoKkCcHYE3yWXdeIkU89jDYQflq7oFyge-Od3RJSUxytl5StD9LsLk2R0YRBCB_ZfrenzP9Y8ydVEnMfkR9wbxd8hTC7iHZ8NCNLQxGYy0MdPPh3rfAmBgye0DZaEQ;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict22 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"mvansa=true;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + NSDictionary *dict23 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"deviceAuthenticated=true;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + NSDictionary *dict24 = @{@"URL":@"https://vzw.com",@"Set-Cookie" : @"soedc=west;Domain=.vzw.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + NSDictionary *dict25 = @{@"URL":@"https://verizon.com",@"Set-Cookie" : @"soedc=west;Domain=.verizon.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + NSDictionary *dict26 = @{@"URL":@"https://verizonwireless.com",@"Set-Cookie" : @"soedc=west;Domain=.verizonwireless.com;Expiry=1800000;Path=/ ;Secure; HttpOnly"}; + + + NSDictionary *webPunchoutAttributeDict = @{ + @"webpunchout-attributes":@{ + @"verizonUpTabWebpunchout":@{ + @"flowName": @"webPunchOut", + @"navigationBar":@{ + @"moleculeName":@"navigationBar", + @"pattern":@"A", + @"title": @"" + }, + @"actionType":@"navigationBar", + @"analyticsData":@{ + @"vzdl.events.pageNotReal":@"1" + }, + @"cache":@(TRUE), + @"pageType":@"verizonUpTabWebpunchout", + @"presentationStyle":@"root", + @"tabBarIndex":@3, + @"screenHeading":@"Web Page", + @"browserUrl":@"https://www.verizon.com/digital/nsa/secure/ui/vzup/?tabbar=true", + @"style":@"light" + }, + @"default": @{ + @"template": @"webPunchOut", + @"navigationBar": @{ + @"moleculeName":@"navigationBar", + @"title":@"" + }, + @"actionType":@"navigationBar", + @"analyticsData":@{ + @"vzdl.events.pageNotReal": @"1" + }, + @"cache":@(NO), + @"pageType":@"webPunchOut", + @"screenHeading":@"Web Page", + @"browserUrl":@"https://www.verizon.com/digital/nsa/secure/ui/vzup/?tabbar=true", + @"style":@"light" + } + } + }; + // + if (!error) { if (data.length > 0) { @@ -355,6 +452,77 @@ NSData *prettyData = [NSJSONSerialization dataWithJSONObject:jsonObject options:NSJSONWritingPrettyPrinted error:&error]; NSString *responseString = [[NSString alloc] initWithData:prettyData encoding:NSUTF8StringEncoding]; MVMCoreNetworkLog(@"Response for Request Page Type %@:\n%@",requestParameters.pageType, responseString); + + if ([requestParameters.pageType isEqual: @"getAuthorizationCode"]) { + + if ([jsonObject isKindOfClass:[NSDictionary class]]){ + NSDictionary *dicton = (NSDictionary*)jsonObject; + PageMapgetAuthDicChange = [[NSMutableDictionary alloc]initWithDictionary:dicton]; + + [PageMapgetAuthDicChange addEntriesFromDictionary:webPunchoutAttributeDict]; + + NSLog(@"PAGEMAPGETDICCHANGE :%@", PageMapgetAuthDicChange); + + NSMutableDictionary *newjsonObjectDict = [dicton mutableCopy]; + [newjsonObjectDict addEntriesFromDictionary:webPunchoutAttributeDict]; + + NSDictionary *PageMapDictGetAuthorization = @{ + @"one-time-punchout":@{ + @"template":@"webPunchOut" + }, + @"webParams": @{ + @"customerType" : @"PE", + @"shopLanding_Content_A" : @"true", + @"osName" : @"IOS", + @"isMVASelfServeRedirect" : @"true", + @"fromFeedCard" : @"false", + @"isTabBarFlowAllowed" : @"true", + @"locale" : @"EN", + @"appReleaseVersion" : @"20.1", + @"isRecentMyOrderAvailable" : @"false", + @"tabIndex" : @"2", + @"nsa5GTileWhitelistedMdnSupport" : @"false", + @"mfGlobalID" : @"1c46ec19-213c-4609-9afb-9ec2d0e25470", + @"shop5gHomeWebviewPodSupport" : @"true", + @"fromShopLanding" : @"true", + @"shopLanding_Treatment_A" : @"true", + @"osVersion" : @"17.5.1", + @"lob" : @"vzw", + @"model" : @"iPhone15,4", + @"fabCVariantionEnabled" : @"true", + @"requestFrom" : @"Shop", + @"cartIconBrowserUrl" : @"/sales/next/expresscheckout.html?pageName=cart&fromMVA=true&preConfigCart=true&isShopFlow=true&entrypoint=carticon", + @"flowName" : @"verizonUpTabWebpunchout", + @"ssoMdns" : @"7706768788", + @"requestURL" : @"https://mobile-exp.vzw.com/mobile/nsa/nos/gw/launchapp/l2/webview", + @"medalliaWebSessionId" : @"fa8a3cb8340448678242d119eddf18b3", + @"eSimEnabled" : @"false", + @"wishlistIconBrowserUrl" : @"/sales/digital/Favorites.html?isShopFlow=true&entrypoint=wishlist", + @"channelId" : @"VZW-MFA-IOS", + @"shop5gHomeWebviewSupport" : @"true", + @"clientAppVersion" : @"20.1.0", + @"medalliaFeedbackSupport" : @"true", + @"userName" : @"7706768788U", + @"habEnabled" : @"true" + }, + @"requestCookies": @{ + @"headersForCookies":@[ + dict0,dict1,dict2,dict3,dict4,dict5,dict6,dict7,dict8,dict9,dict10,dict11,dict12,dict13,dict14,dict15,dict16,dict17,dict18,dict19,dict20,dict21,dict22,dict23,dict24,dict25,dict26 + ] + } + }; + + [newjsonObjectDict setObject:PageMapDictGetAuthorization forKey:@"PageMap"]; + NSLog(@"newjsonObjectDict----: %@",newjsonObjectDict); + jsonObject = newjsonObjectDict; + } + + } else { + NSLog(@"NOT GETTTING AUTHORIZATION JSON"); + } + + + } } else { // Empty response. @@ -374,6 +542,8 @@ } }]; [task resume]; + + return task; } diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m index 801f2d0..315cf19 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m @@ -137,6 +137,10 @@ return; } + NSLog(@"CHECK CACHE FOR DATA FOR REQUEST PAGE TYPE: %@",self.requestParameters.pageType); + NSLog(@"LOAD Page FROM CACHE DICT : %@",pageFromCache); + + // Log if loaded from cache. if (pageFromCache) { MVMCoreNetworkLog(@"loaded from cache page %@",[MVMCoreActionUtility formatDictionaryAsJSONString:pageFromCache]);