Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

magister moved school search #154

Open
antonilol opened this issue Sep 2, 2021 · 26 comments
Open

magister moved school search #154

antonilol opened this issue Sep 2, 2021 · 26 comments
Labels
bug critical Stuff that makes MagisterJS completely unusable

Comments

@antonilol
Copy link

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"}]
@antonilol
Copy link
Author

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'
}

@lieuwex
Copy link
Member

lieuwex commented Sep 3, 2021

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.

@lieuwex lieuwex added bug critical Stuff that makes MagisterJS completely unusable labels Sep 3, 2021
@antonilol
Copy link
Author

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

@kai-bor
Copy link

kai-bor commented Sep 5, 2021

I'll try

Are you still working on it?

@antonilol
Copy link
Author

I tried but it gave me too much errors. Magister changed completely

@netlob
Copy link
Contributor

netlob commented Sep 5, 2021

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

@antonilol
Copy link
Author

bedankt voor de info ga ik proberen

@antonilol
Copy link
Author

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?

@netlob
Copy link
Contributor

netlob commented Sep 5, 2021


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?

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

@antonilol
Copy link
Author

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

@antonilol
Copy link
Author

en het werkt btw

@antonilol
Copy link
Author

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

@netlob
Copy link
Contributor

netlob commented Sep 5, 2021

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

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 ;)

@idiidk
Copy link
Collaborator

idiidk commented Sep 5, 2021

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)

@antonilol
Copy link
Author

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

@antonilol
Copy link
Author

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

@antonilol
Copy link
Author

antonilol commented Sep 5, 2021

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)

@netlob
Copy link
Contributor

netlob commented Sep 7, 2021

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)

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

@antonilol
Copy link
Author

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

@kai-bor
Copy link

kai-bor commented Sep 12, 2021

he hoe gaat het, is het al af en kan ik anders helpen

@antonilol
Copy link
Author

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

@antonilol
Copy link
Author

kan ik anders helpen

als je wil kan je de array van @netlob #154 (comment) in de school search functie zetten

@domiehomie
Copy link

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

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?

@antonilol
Copy link
Author

Bij mij werkt het nog

@domiehomie
Copy link

Bij mij werkt het nog

misschien heeft het te maken met het feit dat mijn school een oauth2 flow heeft?

@antonilol
Copy link
Author

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 🙁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug critical Stuff that makes MagisterJS completely unusable
Projects
None yet
Development

No branches or pull requests

6 participants