To which I would say, No, the business should not be allowed to do that. But by “not be allowed,” I mean that the rest of us should nonviolently impose costs on those who offend decency by humiliating persons by the refusal of service. As noted, this would include boycotts, publicity, and ostracism. The state should not be seen as a remedy, and considering that its essence is violence, it certainly should not punish nonviolent conduct, however objectionable.
State prohibitions drive bigotry into the shadows, making private response more difficult. Would a Jewish couple want an anti-Semite photographing their wedding? Would a gay couple want a homophobe baking their cake? Moreover, legal prohibitions may cut both ways. Should a black photographer have to work the wedding of a white-supremacist couple? Shouldn’t the thought of forced labor make us squirm?