Extract token generation to #generate_token
Change invite identifier from user_id to user_token
Update spec to reflect change to token, add spec for unauthenticated user