Я тоже интересовался. Если у тебя SPA, похоже, самое нормальное - это чтоб клиент ходил за access token на Authorization Server.
А твой бек с Spring Security будет Resourse Server. На нём будет валидация access token, посылая запрос на Authorization Server.
Стоит отметить, я долго копался в этом, но я не профи. Но имею сейчас работающее приложение с такой схемой.
Я следовал этому
https://docs.microsoft.com/en-us/graph/tutorials/react, рефакторя и подгоняя к своей области.
По сути, для клиента на js можно найти подобную либу под свой Auth Server/ Identity Provider