Looks really interesting! Just wanted to let you know that if you decline the permission request when signing in for the first time, you get the 500 error.
thanks for the update, I presumed that no one will choose 'cancel' on authorization through google. But why you decline the request? just because I collect your email address which will be required in traditional sign in process? anyway, I fixed the bug, and remove view email address permission on sign in request.