diff --git a/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiAbsence.cs b/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiAbsence.cs index acd01e0..db67be2 100644 --- a/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiAbsence.cs +++ b/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiAbsence.cs @@ -10,8 +10,9 @@ public partial class Api { private async Task AbsenceSsoLoginAsync() { - var temp_url = "https://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=Skola24Widget"; - + var temp_url = "https://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=Skola24Widget"; + + var temp_res = await _httpClient.GetAsync(temp_url); var temp_content = await temp_res.Content.ReadAsStringAsync(); @@ -40,7 +41,7 @@ private async Task AbsenceSsoLoginAsync() while (temp_res.Headers.Location != null) { temp_url = temp_res.Headers.Location?.ToString(); - temp_url = temp_url.StartsWith("/") ? "https://fns.stockholm.se" + temp_url : temp_url; + temp_url = temp_url.StartsWith("/") ? "https://stockholm.skola24.se" + temp_url : temp_url; temp_res = await _httpClient.GetAsync(temp_url); } } @@ -55,7 +56,7 @@ private async Task AbsenceSsoProvideCredentialsAsync(Uri uri) var url = "https://login001.stockholm.se/siteminderagent/forms/aelever.jsp?SMAUTHREASON=0" + $"&SMAGENTNAME={smagentname}" + "&SMQUERYDATA=null" - + "&TARGET=-SM-HTTPS://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=Skola24Widget"; + + "&TARGET=-SM-HTTPS://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=Skola24Widget"; temp_res = await _httpClient.GetAsync(url); //var temp_content = await temp_res.Content.ReadAsStringAsync(); @@ -64,8 +65,8 @@ private async Task AbsenceSsoProvideCredentialsAsync(Uri uri) url = "https://login001.stockholm.se/siteminderagent/forms/loginForm.jsp"+ "?SMAGENTNAME=login001-ext.stockholm.se"+ - "&POSTTARGET=https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA=="+ - "&TARGET=-SM-HTTPS://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se"; + "&POSTTARGET=https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0" + + "&TARGET=-SM-HTTPS://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se"; temp_res = await _httpClient.GetAsync(url); //temp_content = await temp_res.Content.ReadAsStringAsync(); @@ -76,7 +77,7 @@ private async Task AbsenceSsoProvideCredentialsAsync(Uri uri) new KeyValuePair("password", _password), new KeyValuePair("SMENC", "ISO-8859-1"), new KeyValuePair("SMLOCALE", "US-EN"), - new KeyValuePair("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA=="), + new KeyValuePair("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0"), new KeyValuePair("smauthreason", "null"), new KeyValuePair("smagentname", "login001-ext.stockholm.se"), new KeyValuePair("smquerydata", "null"), @@ -97,7 +98,7 @@ private async Task AbsenceSsoProvideCredentialsAsync(Uri uri) private async Task GetAbsenceUserInfo() { - var temp_url = "https://fns.stockholm.se/ng/api/get/user/info"; + var temp_url = "https://stockholm.skola24.se/ng/api/get/user/info"; var request = new HttpRequestMessage { @@ -105,10 +106,10 @@ private async Task GetAbsenceUserInfo() Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/portal/start" }, + { "Referer", "https://stockholm.skola24.se/ng/portal/start" }, { "X-Scope", "a0b6c9c4-11d7-4a52-a030-a55a15058eef" }, { "Accept", "application/json"}, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, }; @@ -119,7 +120,7 @@ private async Task GetAbsenceUserInfo() private async Task GetPlannedAbsenceUserGuid() { - var temp_url = "https://fns.stockholm.se/ng/api/get/guid/for/current/user"; + var temp_url = "https://stockholm.skola24.se/ng/api/get/guid/for/current/user"; var request = new HttpRequestMessage { @@ -127,10 +128,10 @@ private async Task GetPlannedAbsenceUserGuid() Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/portal/start/absence/planned" }, + { "Referer", "https://stockholm.skola24.se/ng/portal/start/absence/planned" }, { "X-Scope", "f9193d2f-b9f5-41a5-b5ca-b2f52690b27e" }, { "Accept", "application/json"}, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, }; @@ -159,7 +160,7 @@ public async Task> GetPlannedAbsenceListAsync() var content = "{\"studentPersonGuid\":\"" + guid + "\",\"groupGuid\":null,\"isPrivate\":true,\"selectedDate\":null}"; - var temp_url = "https://fns.stockholm.se/ng/api/get/planned/absence"; + var temp_url = "https://stockholm.skola24.se/ng/api/get/planned/absence"; var request = new HttpRequestMessage { @@ -167,10 +168,10 @@ public async Task> GetPlannedAbsenceListAsync() Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/portal/start/absence/planned" }, + { "Referer", "https://stockholm.skola24.se/ng/portal/start/absence/planned" }, { "X-Scope", "f9193d2f-b9f5-41a5-b5ca-b2f52690b27e" }, { "Accept", "application/json" }, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, Content = new StringContent(content) }; diff --git a/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiTimetable.cs b/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiTimetable.cs index d1f3b14..4f7d218 100644 --- a/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiTimetable.cs +++ b/src/Skolplattformen.ElevApp.SkolplattformenApi/ApiTimetable.cs @@ -11,7 +11,8 @@ public partial class Api private async Task TimetableSsoLoginAsync() { var temp_url = - "https://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=TimetableViewer"; + "https://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=TimetableViewer"; + // "https://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=TimetableViewer"; var temp_res = await _httpClient.GetAsync(temp_url); var temp_content = await temp_res.Content.ReadAsStringAsync(); @@ -40,7 +41,7 @@ private async Task TimetableSsoLoginAsync() while (temp_res.Headers.Location != null) { temp_url = temp_res.Headers.Location?.ToString(); - temp_url = temp_url.StartsWith("/") ? "https://fns.stockholm.se" + temp_url : temp_url; + temp_url = temp_url.StartsWith("/") ? "https://stockholm.skola24.se" + temp_url : temp_url; temp_res = await _httpClient.GetAsync(temp_url); } } @@ -55,7 +56,7 @@ private async Task TimetableSsoProvideCredentialsAsync(Uri uri) var url = "https://login001.stockholm.se/siteminderagent/forms/aelever.jsp?SMAUTHREASON=0" + $"&SMAGENTNAME={smagentname}" + "&SMQUERYDATA=null" - + "&TARGET=-SM-HTTPS://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=TimetalbeViewer"; + + "&TARGET=-SM-HTTPS://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se&targetsystem=TimetableViewer"; temp_res = await _httpClient.GetAsync(url); @@ -63,8 +64,8 @@ private async Task TimetableSsoProvideCredentialsAsync(Uri uri) url = "https://login001.stockholm.se/siteminderagent/forms/loginForm.jsp" + "?SMAGENTNAME=login001-ext.stockholm.se" + - "&POSTTARGET=https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA==" + - "&TARGET=-SM-HTTPS://fnsservicesso1.stockholm.se/sso-ng/saml-2.0/authenticate?customer=https://login001.stockholm.se"; + "&POSTTARGET=https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0" + + "&TARGET=-SM-HTTPS://stockholm-sso.skola24.se/nssso/saml-2.0/authenticate?customer=https://login001.stockholm.se"; temp_res = await _httpClient.GetAsync(url); var temp_url = "https://login001.stockholm.se/siteminderagent/forms/login.fcc"; @@ -74,7 +75,7 @@ private async Task TimetableSsoProvideCredentialsAsync(Uri uri) new KeyValuePair("password", _password), new KeyValuePair("SMENC", "ISO-8859-1"), new KeyValuePair("SMLOCALE", "US-EN"), - new KeyValuePair("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA=="), + new KeyValuePair("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0"), new KeyValuePair("smauthreason", "null"), new KeyValuePair("smagentname", "login001-ext.stockholm.se"), new KeyValuePair("smquerydata", "null"), @@ -96,19 +97,19 @@ private async Task TimetableSsoProvideCredentialsAsync(Uri uri) private async Task<(string, string)> GetTimetableUnitGuidAndPersonGuid() { - var temp_url = "https://fns.stockholm.se/ng/api/services/skola24/get/personal/timetables"; + var temp_url = "https://stockholm.skola24.se/ng/api/services/skola24/get/personal/timetables"; - var content = "{\"getPersonalTimetablesRequest\":{\"hostName\":\"fns.stockholm.se\"}}"; + var content = "{\"getPersonalTimetablesRequest\":{\"hostName\":\"stockholm.skola24.se\"}}"; var request = new HttpRequestMessage { RequestUri = new Uri(temp_url), Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/timetable/timetable-viewer" }, + { "Referer", "https://stockholm.skola24.se/ng/timetable/timetable-viewer" }, { "X-Scope", "8a22163c-8662-4535-9050-bc5e1923df48" }, { "Accept", "application/json" }, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, Content = new StringContent(content) }; @@ -133,7 +134,7 @@ private async Task TimetableSsoProvideCredentialsAsync(Uri uri) private async Task GetTimetableRenderKey() { - var temp_url = "https://fns.stockholm.se/ng/api/get/timetable/render/key"; + var temp_url = "https://stockholm.skola24.se/ng/api/get/timetable/render/key"; var request = new HttpRequestMessage { @@ -141,10 +142,10 @@ private async Task GetTimetableRenderKey() Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/timetable/timetable-viewer/fns.stockholm.se/" }, + { "Referer", "https://stockholm.skola24.se/ng/timetable/timetable-viewer/stockholm.skola24.se/" }, { "X-Scope", "8a22163c-8662-4535-9050-bc5e1923df48" }, { "Accept", "application/json" }, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, }; @@ -170,12 +171,12 @@ public async Task> GetTimetableAsync(int year, int week) var (unitGuid, personGuid) = await GetTimetableUnitGuidAndPersonGuid(); var key = await GetTimetableRenderKey(); - var content = "{\"renderKey\":\"" + key + "\",\"host\":\"fns.stockholm.se\",\"unitGuid\":\"" + unitGuid + + var content = "{\"renderKey\":\"" + key + "\",\"host\":\"stockholm.skola24.se\",\"unitGuid\":\"" + unitGuid + "\",\"startDate\":null,\"endDate\":null,\"scheduleDay\":0,\"blackAndWhite\":false,\"width\":1227,\"height\":1191,\"selectionType\":5,\"selection\":\"" + personGuid + "\",\"showHeader\":false,\"periodText\":\"\",\"week\":" + week + ",\"year\":" + year + ",\"privateFreeTextMode\":null,\"privateSelectionMode\":true,\"customerKey\":\"\"}"; - var temp_url = "https://fns.stockholm.se/ng/api/render/timetable"; + var temp_url = "https://stockholm.skola24.se/ng/api/render/timetable"; var request = new HttpRequestMessage { @@ -183,10 +184,10 @@ public async Task> GetTimetableAsync(int year, int week) Method = HttpMethod.Post, Headers = { - { "Referer", "https://fns.stockholm.se/ng/timetable/timetable-viewer/fns.stockholm.se/" }, + { "Referer", "https://stockholm.skola24.se/ng/timetable/timetable-viewer/stockholm.skola24.se/" }, { "X-Scope", "8a22163c-8662-4535-9050-bc5e1923df48" }, { "Accept", "application/json" }, - { "Origin", "https://fns.stockholm.se" }, + { "Origin", "https://stockholm.skola24.se" }, }, Content = new StringContent(content) };