I\'ve implemented omniauth with my devise model, so I can authenticate using other services.
Password is not necessary anymore for my model, as users can authenticate using twit
In my users controller, in the update action, I have
params[:user].delete(:password) if params[:user][:password].blank?
params[:user].delete(:password_confirmation) if params[:user][:password_confirmation].blank?
Perhaps you could adapt that to a before_save callback?