I'm not sure how to phrase this so I'll just explain my scenario and hopefully you can help.
I have to create a site that will have 50-100 students all selecting courses they would like to take for the next semester. As each student ideally should only be able to access the site for a week, I was considering generating a key and emailing the key to them. This key would be 8-10 alpha-numeric characters kind of like: 8fgea2awde
. The key would be stored in the database with an expiry date linked to the users account. Then once the user logs in with their key a secure session is created and authenticated while they are logged in. I know it's not very far from the username & password approach.
I know Oauth exists, although I have no idea how it works. Ideally I wouldn't like to "roll my own" security, I'd like use a third party but I'm not sure how that would fit into my situation.
I was wondering if this was a good approach? Do you maybe know of a better or more widely used approach?
You'd be saving me a lot of hell.