why is 'provider' parameter needed? You have it in the auth hash and you actually use it from auth hash in Authentication#find_or_create...