Златослав Десятников, вы должны идентифицировать клиента как-то, прежде чем рассылать какую-то информацию.
"Может быть только один токен" - при чем тут это? Вот тебе на сервер прилетает запрос от клиента на получение токена, ты не знаешь, прошел ли он авторизацию через соц. сеть или нет, ты не знаешь его идентификатор в этой соц. сети, ты вообще ничего о нем не знаешь. То же самое относится с сокетам, от протокола обмена данными ничего не изменится. Да и сам принцип авторизации через JWT подразумевает авторизацию пользователя без использования сессий вообще.
На счет дочерних pop-up окон и вашего комментария "не получится перехватить контент":
Большинство действий, особенно получение содержимого окна и его переменных, возможны лишь в том случае, если URL нового окна происходит из того же источника (англ. – «Same Origin»), т.е. совпадают домен, протокол и порт.
Златослав Десятников, никак не хотел привязывать сессию ко всему этому, но да ладно, пусть будет так, но как я узнаю, что пользователю при запросе нужно будет отдать именно этот токен, а не какой-то другой?
Златослав Десятников, тогда я не понимаю, запрос с какими параметрами мне нужно будет отправить на сервер, чтобы получить наконец-таки свой jwt-token.
Факт в том, что на клиенте никакой информации в момент авторизации через соц. сеть нет, и чем оперировать далее - неизвестно.
Илья Ростопка, fromAuthHeaderAsBearerToken() тоже использовал, однако заголовок все равно не могу правильно составить, вид: Authorization: JWT *token* не работает