As far as I know many Hellenic Univercities provide their own login panel. So you can implement various methodologies - strategies depending the univercity (I assume that other univercities offer a similar solution).
The weakest one is to verify via email and periodically need to re-verify their emails (eg. once a year). The strongest one is to verify via univectity's login panel. Also you can provide multiple screens for example on the first one choose the university and on the second one to either offer a directly to login or register depending the univercity.
Also many Univercities offer VPN connections (as far as I know in Hellenic Univercities) so you can verify if some user is connected via a univercity in a multi factor login:
- First of all check the ip if belongs to a univercity.
- Then the user offers the credentials either for registration or login.
- Login should permited if an ip belongs to a univercity.
An alternative approach you can keep a regex/wildcarded database with the valid univercity emails and combined with the approach of verifying one per year their emails shoud be a practical and viable solution for you.
Furthermore, in the case of using seperate authentication mechanism depending on univercity, I suggest to use strategy
software engineering pattern and depending the univercity to apply different registration mechanisms. You can choose the strategy via a factory
pattern and keeping a distingtive name where the list of univercities is stored eg. on the database store an extra column named auth_mechanism
and if univercity supports OAUTH authentication & authorization mechanism then store the OAUTH
value.