this is only missing a redirect to a decent location and we're almost done, right? That and properly saving the token for the user...