Два пути. Приложение может быть без сессии и с сессией.
Если сессия (то есть перезагрузка страницы, без апи) - то куки можно ставить на группу доменов. Общая кука для всех под-доменов.
Если сессии нет - то есть такая штука JWT token и в ней есть audience/issued, который делает примерно то же самое (выдан для/выдан кем). Аудиенции это как раз сайты (точнее будет сказать - места), где этот токен будет приниматься, опять же - с общим сервером авторизации.
JWT токен сделан для того, чтобы не хранить в БД все разрешения выданные всем юзерам, которых может быть за миллион. В базе хранятся только токены добавленные в черный список в силу того, что человек их сам обнулил сделав "logout" (выйди из системы) или "revoke" (переделав конкретный токен поновой, чтобы старый пока срок не кончится - не работал).
Однако если вы захотите прям сделать как на гугле кнопку "разлогинится на всех устройствах" - то в базе будут хранится не сами токены, но их идентификаторы под каждое устройство. Тот самый last_logged_in, только для каждой мобилки в семье. С одной стороны это нивелирует преимущество "не хранить в базе каждого юзера", т.к. теперь в базе хранится не только каждый юзер, но и каждое его устройство, но останется преимущество, которое про то, что "если базу взломали, они получат только айдишники, а чтобы делать - нужен сам токен, которого там нет". Тогда можно будет нажать "офнуть всех" и все залпом добавятся в блэклист.