MagisterJS
MagisterJS copied to clipboard
magister moved school search
magister moved school search to https://accounts.magister.net/challenges/tenant/search?key=<SchoolName>
the response only gives a displayName and an id about every school matching the query
example response (i searched for mar):
[{"displayName":"CSG Anna Maria van Schurman","id":"dec20beba9b54ebabf332be56d286c97"},{"displayName":"Lyceum Sancta Maria","id":"dcee9b98235d4cd99e4d4e65bfbe685f"},{"displayName":"Marecollege Leiden","id":"200c2de546744f019d23d52a932a299b"},{"displayName":"Maria Immaculata Lyceum","id":"7316a4f996c144fd900077f2caebbc0b"},{"displayName":"Maria Immaculata Lyceum (MIL)","id":"7316a4f996c144fd900077f2caebbc0b"},{"displayName":"Maris College","id":"ddfba09d0aef4b30bca0efae9039b45f"},{"displayName":"Maritieme Academie Harlingen","id":"904935f166ff4abab41583d8df0e03b6"},{"displayName":"Marne College","id":"243edfb18cb747b0957211baaa6145e0"},{"displayName":"Marnix College","id":"86cd9185ce364154ba26c4bda4691158"},{"displayName":"Martinuscollege","id":"3319706ea5e14f119541c7fe3fb011c4"},{"displayName":"Sancta Maria MAVO","id":"79a7f8d37aae4299ba833f8f04668dad"},{"displayName":"Technisch en Maritiem College Velsen","id":"bbec05ba1e064cedbf04d82acbf296c0"}]
i got here because of the following error
something went wrong: FetchError: request to https://mijn.magister.net/api/schools?filter=Marnix failed, reason: getaddrinfo ENOTFOUND mijn.magister.net
at ClientRequest.<anonymous> (/home/antoni/js/node_modules/node-fetch/lib/index.js:1461:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
Hi, thanks for the report!
I'm afraid that -even if this issue has been fixed- the library doesn't work. It has simply been too long that somebody has updated it.
You can try to implement the needed change yourself, and see if the library does something useful then. You might even want to fork this library.
I'm not working on the library myself anymore, so if you or somebody else doesn't pick it up I'm afraid this error will persist.
It has simply been too long that somebody has updated it.
Yes, true
You can try to implement the needed change yourself, and see if the library does something useful then.
I'll try
I'll try
Are you still working on it?
I tried but it gave me too much errors. Magister changed completely
zoeken naar scholen kan idd niet meer, maar dat is eigenlijk ook niet nodig
je kan gewoon zelf een achool object meegeven als je die magister instance aanmaakt, {url: "https://school.magister.net"} zou moeten werken :)
de login flow is ook wat veranderd, maar ze volgen de oidc spec en die is redelijk makkelijk te implementeren, vgm werkt deze package van vincent ook nog: https://github.com/idiidk/magister-openid
bedankt voor de info ga ik proberen
something went wrong: AuthError: Error: AuthCodeValidation
at /home/antoni/js/node_modules/magister.js/lib/magister.js:575:15
moet ik nog ergens een authCode in doen?
something went wrong: AuthError: Error: AuthCodeValidation at /home/antoni/js/node_modules/magister.js/lib/magister.js:575:15moet ik nog ergens een
authCodein doen?
ja je moet naast username password en school ook een authCode meegeven, ik denk dat de enige manier om die te verkrijgen is om in de devtools van je browser te kijken
je kan ook een parser schrijven die eerst de login html ophaalt van magister, daar de naam van t huidige js uithaalt en dan dat js bestand opvragen en vervolgens met een regex de authcode eruit trekken
ja je moet naast username password en school ook een authCode meegeven, ik denk dat de enige manier om die te verkrijgen is om in de devtools van je browser te kijken
die heb ik
je kan ook een parser schrijven die eerst de login html ophaalt van magister, daar de naam van t huidige js uithaalt en dan dat js bestand opvragen en vervolgens met een regex de authcode eruit trekken
js ga ik doen is denk ik wel handig
en het werkt btw
de naam van t huidige js uithaalt
dat is niet gelukt, de authCode uit de js halen wel en dat werkt goed maar de js is nu gehardcode in mn programma
de naam van t huidige js uithaalt
dat is niet gelukt, de
authCodeuit de js halen wel en dat werkt goed maar de js is nu gehardcode in mn programma
hij is dynamisch, soms veranderd die authcode al na een uurtje en soms na 2 dagen, dus let daar even op want dan moet je m opnieuw opzoeken en hardcoden ;)
daar liepen we tijdens het ontwikkelen van deze library ook tegenaan. je zou eventueel dus een parser kunnen schrijven alleen was dit een beetje buiten de scope van dit project. misschien werkt de parser die lieuwe ooit heeft gemaakt nog wel, dan kan je hier de code ophalen (https://raw.githubusercontent.com/simplyGits/magisterjs-authcode/master/code.json)
dan kan je hier de code ophalen (https://raw.githubusercontent.com/simplyGits/magisterjs-authcode/master/code.json)
daar staat een oude authCode
en,
ze hebben authCodes langer gemaakt
nu is ie 5a2fc9ed85b0c92613
hij is dynamisch, soms veranderd die authcode al na een uurtje en soms na 2 dagen, dus let daar even op want dan moet je m opnieuw opzoeken en hardcoden ;)
de authCode is niet gehardcode, maar de link naar het script waar die in staat: https://accounts.magister.net/js/account-ece636e938079a0d6583.js
oh ja, nog iets voor een nieuwe schoolSearch functie,
volgens mij heeft elke school de magister gebruikt een subdomein van magister.net (school.magister.net)
die subdomeinen kan je in een object of array stoppen om op te zoeken
lijst met subdomeinen: https://subdomainfinder.c99.nl/scans/2021-09-05/magister.net (en omgezet naar array: https://pastebin.com/Bew1DxSt)
EDIT: sommige subdomeinen zijn geen school, bijv die met www beginnen (aan het eind van de array)
oh ja, nog iets voor een nieuwe
schoolSearchfunctie,volgens mij heeft elke school de magister gebruikt een subdomein van
magister.net(school.magister.net)die subdomeinen kan je in een object of array stoppen om op te zoeken
lijst met subdomeinen: https://subdomainfinder.c99.nl/scans/2021-09-05/magister.net (en omgezet naar array: https://pastebin.com/Bew1DxSt)
EDIT: sommige subdomeinen zijn geen school, bijv die met
wwwbeginnen (aan het eind van de array)
klopt maar dan kan je nog steeds niet zoeken op naam, dan kan je met zo goed zelf dat subdomein invullen
ik heb hier een array met alle scholen die magister hadden (naam, id en url) die je opzich kan gebruiken. is een klein beetje outdated (verzameld een paar dagen voordat dat oude api endpoint verwijderd werd) maarja zovaak zal die lijst toch niet veranderen
https://pastebin.com/H82Nhbh1
klopt maar dan kan je nog steeds niet zoeken op naam, dan kan je met zo goed zelf dat subdomein invullen
oh ja klopt lol
ik heb hier een array met alle scholen die magister hadden (naam, id en url) die je opzich kan gebruiken. is een klein beetje outdated (verzameld een paar dagen voordat dat oude api endpoint verwijderd werd) maarja zovaak zal die lijst toch niet veranderen
ok om nu mee te beginnen maar er moet vast ook een mogelijkheid zijn om zo'n array automatisch te maken door bijv die lijst met subdomein te requesten en uit de html de schoolnaam te halen
he hoe gaat het, is het al af en kan ik anders helpen
net ff een script gemaakt om de authCode op te halen.
ik kijk ook nog of dit ding het over een paar dagen nog steeds doet (magister verandert de authCode continu)
https://gist.github.com/antonilol/88a1edf32c5541baf9516a41bb0beb2d
kan ik anders helpen
als je wil kan je de array van @Netlob https://github.com/simplyGits/MagisterJS/issues/154#issuecomment-913908112 in de school search functie zetten
net ff een script gemaakt om de
authCodeop te halen. ik kijk ook nog of dit ding het over een paar dagen nog steeds doet (magister verandert deauthCodecontinu) https://gist.github.com/antonilol/88a1edf32c5541baf9516a41bb0beb2d
volgens mij (als ik alles goed heb gedaan voor de rest) werkt deze functie niet meer, is hij nog steeds uit de devtools te halen? en zoja, hoe?
Bij mij werkt het nog
Bij mij werkt het nog
misschien heeft het te maken met het feit dat mijn school een oauth2 flow heeft?
Oh dan zou je dat zelf uit moeten proberen tot het werkt wat mijn school heeft dat niet en dus kan ik dan niet doen 🙁