Pleroma v1.1.9-10-g42f76306+dev Pleroma.Web.UserSocket View Source

Link to this section Summary

Functions

Receives the socket params and authenticates the connection.

Identifies the socket connection.

Link to this section Functions

Receives the socket params and authenticates the connection.

Socket params and assigns

Socket params are passed from the client and can be used to verify and authenticate a user. After verification, you can put default assigns into the socket that will be set for all channels, ie

{:ok, assign(socket, :user_id, verified_user_id)}

To deny connection, return :error.

See Phoenix.Token documentation for examples in performing token verification on connect.

Callback implementation for Phoenix.Socket.connect/2.

Identifies the socket connection.

Socket IDs are topics that allow you to identify all sockets for a given user:

def id(socket), do: "users_socket:#{socket.assigns.user_id}"

Would allow you to broadcast a "disconnect" event and terminate all active sockets and channels for a given user:

MyApp.Endpoint.broadcast("users_socket:" <> user.id, "disconnect", %{})

Returning nil makes this socket anonymous.

Callback implementation for Phoenix.Socket.id/1.