I don't know if there's a standard way to do this. I'm happy to get the answer if someone knows it.
I personnaly use your option (b), the job logs in the user using Auth::onceUsingId($user_id), $user_id is given as a paramater of the job.
I've also added a Auth::logout() at the end the job, because I got some strange cases where one job for User A was processed with User B. I guess Job queues are kind of static / permanent threads and the authentication operation is common to all jobs. (happy to get confirmations about this matter too).
But your option (a) doesn't seem gross to me neither. I guess using (a) or (b) could depend on the complexity of the parameters to be communicated to your job.
A long answer for basically saying "I don't know" =)