Skip to content

Commit

Permalink
Merge pull request #33 from kolplattformen/fix/byt-adress-till-schema…
Browse files Browse the repository at this point in the history
…-narvaro

Bytte länkadresser till Skola24
  • Loading branch information
kajetan-kazimierczak authored Oct 7, 2023
2 parents 0364112 + 902f80e commit 6d96036
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 33 deletions.
33 changes: 17 additions & 16 deletions src/Skolplattformen.ElevApp.SkolplattformenApi/ApiAbsence.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down Expand Up @@ -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);
}
}
Expand All @@ -55,7 +56,7 @@ private async Task<string> 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();
Expand All @@ -64,8 +65,8 @@ private async Task<string> 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();

Expand All @@ -76,7 +77,7 @@ private async Task<string> AbsenceSsoProvideCredentialsAsync(Uri uri)
new KeyValuePair<string, string>("password", _password),
new KeyValuePair<string, string>("SMENC", "ISO-8859-1"),
new KeyValuePair<string, string>("SMLOCALE", "US-EN"),
new KeyValuePair<string, string>("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA=="),
new KeyValuePair<string, string>("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0"),
new KeyValuePair<string, string>("smauthreason", "null"),
new KeyValuePair<string, string>("smagentname", "login001-ext.stockholm.se"),
new KeyValuePair<string, string>("smquerydata", "null"),
Expand All @@ -97,18 +98,18 @@ private async Task<string> 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
{
RequestUri = new Uri(temp_url),
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" },
},
};

Expand All @@ -119,18 +120,18 @@ private async Task GetAbsenceUserInfo()

private async Task<string> 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
{
RequestUri = new Uri(temp_url),
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" },
},
};

Expand Down Expand Up @@ -159,18 +160,18 @@ public async Task<List<PlannedAbsenceItem>> 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
{
RequestUri = new Uri(temp_url),
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)
};
Expand Down
35 changes: 18 additions & 17 deletions src/Skolplattformen.ElevApp.SkolplattformenApi/ApiTimetable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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);
}
}
Expand All @@ -55,16 +56,16 @@ private async Task<string> 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);

// load login page
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";
Expand All @@ -74,7 +75,7 @@ private async Task<string> TimetableSsoProvideCredentialsAsync(Uri uri)
new KeyValuePair<string, string>("password", _password),
new KeyValuePair<string, string>("SMENC", "ISO-8859-1"),
new KeyValuePair<string, string>("SMLOCALE", "US-EN"),
new KeyValuePair<string, string>("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9mbnNzZXJ2aWNlc3NvMS5zdG9ja2hvbG0uc2Uvc3NvLW5nL3NhbWwtMi4wL2F1dGhlbnRpY2F0ZT9jdXN0b21lcj1odHRwczovL2xvZ2luMDAxLnN0b2NraG9sbS5zZSZ0YXJnZXRzeXN0ZW09U2tvbGEyNFdpZGdldA=="),
new KeyValuePair<string, string>("target", "https://login001.stockholm.se/NECSelev/form/b64startpage.jsp?startpage=aHR0cHM6Ly9zdG9ja2hvbG0tc3NvLnNrb2xhMjQuc2UvbnNzc28vc2FtbC0yLjAvYXV0aGVudGljYXRlP2N1c3RvbWVyPWh0dHBzOi8vbG9naW4wMDEuc3RvY2tob2xtLnNlJnRhcmdldHN5c3RlbT1Ta29sYTI0V2lkZ2V0"),
new KeyValuePair<string, string>("smauthreason", "null"),
new KeyValuePair<string, string>("smagentname", "login001-ext.stockholm.se"),
new KeyValuePair<string, string>("smquerydata", "null"),
Expand All @@ -96,19 +97,19 @@ private async Task<string> 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)
};
Expand All @@ -133,18 +134,18 @@ private async Task<string> TimetableSsoProvideCredentialsAsync(Uri uri)

private async Task<string> 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
{
RequestUri = new Uri(temp_url),
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" },
},
};

Expand All @@ -170,23 +171,23 @@ public async Task<List<TimeTableLesson>> 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
{
RequestUri = new Uri(temp_url),
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)
};
Expand Down

0 comments on commit 6d96036

Please sign in to comment.