public function authenticate(TokenInterface $token)
 {
     $email = $token->getCredentials();
     $user = $this->user_provider->loadOrCreateUser($email);
     // Log the user in
     $new_token = new GithubUserToken($user->getRoles());
     $new_token->setUser($user);
     $new_token->setAuthenticated(true);
     return $new_token;
 }