С моим новым приложением HelloPhoenix я создал стандартную базовую HTTP-аутентификацию пользователя с формой регистрации/входа.
Затем я попробовал каналы. Это прекрасно работает. Затем я хочу, чтобы аутентифицированные пользователи (и только те, кто уже аутентифицирован) могли присоединяться к некоторым каналам. Согласно документу:
Клиенты должны присоединиться к каналу, чтобы отправлять и получать события PubSub на этом канале. Ваши каналы должны реализовать обратный вызов join/3, который авторизует сокет для данной темы. Например, вы можете проверить, разрешено ли пользователю присоединяться к этой конкретной комнате.
Звучит здорово, но мне интересно, какой способ будет наиболее эффективным. Я подумал о возврате токена (связанного с моделью пользователя) при аутентификации, поэтому токен передается обратно в WebSocket. Обратный вызов join/3 может проверить, соответствует ли этот токен маркеру в модели.
Это самый эффективный способ?