To trigger a job remotely via script: Jenkins provides two mechanisms.
One is Jenkins generated Crumb - common for all jobs.
Other option is manually created Authentication Token - can be unique for all jobs.
Which of these two option is preferred and why?