How can a user be logged in to WordPress via a web link?

Step 1 is to to send you a link in an email that not only sends you to my WP site, but logs you in to a member's area.

Step 2 is to have a greeting on the page say, "Hello [your first name]" and the name could come from being embedded in the link or looked up in the member profile.

Step 3 is making sure that the links expire after being used once and after a given date.

Even if you are not logged into the WordPress site, how could we create a page that says, "Welcome [first name]" from info just embedded in an email link?