it could be more DRY I think, could you do it like this?

```ruby
if (intercept...)
  user = intercept.current_user
else
  user = User.try_to_login...
end

if user.nil?
  #failed...
else
  #valid user
  login_user(user)
end
```