Phoenix: авторизация аутентифицированного пользователя для присоединения к каналу

С моим новым приложением HelloPhoenix я создал стандартную базовую HTTP-аутентификацию пользователя с формой регистрации/входа.

Затем я попробовал каналы. Это прекрасно работает. Затем я хочу, чтобы аутентифицированные пользователи (и только те, кто уже аутентифицирован) могли присоединяться к некоторым каналам. Согласно документу:

Клиенты должны присоединиться к каналу, чтобы отправлять и получать события PubSub на этом канале. Ваши каналы должны реализовать обратный вызов join/3, который авторизует сокет для данной темы. Например, вы можете проверить, разрешено ли пользователю присоединяться к этой конкретной комнате.

Звучит здорово, но мне интересно, какой способ будет наиболее эффективным. Я подумал о возврате токена (связанного с моделью пользователя) при аутентификации, поэтому токен передается обратно в WebSocket. Обратный вызов join/3 может проверить, соответствует ли этот токен маркеру в модели.

Это самый эффективный способ?


person Jean-Pierre Bécotte    schedule 27.11.2015    source источник


Ответы (1)


Думаю, я нашел свой ответ. Phoenix.Token идеально подходит для того, чего я пытаюсь достичь.

person Jean-Pierre Bécotte    schedule 27.11.2015