add guard and forgery for better testing
refactor trivialsso error class out of login class
update Gemfile for guard
update core files and tests
refactor login methods