I am sure this is not an isolated example and has happened before to others.
Trying to find a job is stressful for candidates, especially when their livelihood is at stake, and they need to earn money to support a family or themselves. Continual failure to secure a position leads to stress, and prospective candidates reach a point where they will lash out.
As I have said many times on this forum, successful recruitment and selection require a properly thought-out process that will meet the needs of the organization to find suitable staff but is also open, fair, and completely transparent. In that way, you can avoid all problems.
One of the easiest ways to avoid problems, which include accusations of bias, discrimination, etc., is to develop a standard questionnaire and scoring sheet for each position you interview for. In that way, every candidate is asked exactly the same questions, and the panel scores the candidates' answers based on what they said, their attitude, skill set, etc. At the end of the interviews, the panel can use the score sheets to rate the candidates and decide who will be offered the job.
The point of all this is that you have a complete written record of how the panel reached its decision and why. If later there is a dispute, then you have the evidence to prove that it was a fair and transparent process and that the successful candidate was chosen on merit.
In this case, you need to call the unhappy candidate in, discuss with him/her how the decision was reached, and why the successful person was chosen. Then this unsuccessful person should be asked for an apology or reminded that further action could be taken.
The days of making any sort of decision, let alone one as important as staff selection, on a whim, are over. Everything you do needs to be backed up with hard evidence so that everyone knows how the decision was reached. It will solve most disputes, I can assure you.