> should this also check if :login is present? (eg. params[:login] might be nil)

good point, I will rais if it's nil

> or maybe this should use data which has the latest GitHub info

I'm not sure if this is ok to fire a request everytime we do find_or_create_user, but we should certainly consider it