Auth::attempt
, потому что у него внутри (вот удивительно!) хэшируются пароли при сравнении.// что за юзер — провайдер или потребитель?
// по какому полю строить связь?
$contract->user()->associate($user);
Впрочем, судя по всему, достаточно на другой стороне подобную конструкцию с условиями сделать. Но могут быть проблемы: создали инстанс модели, provider_id
и customer_id
не заполнили — что в условиях проверять?