# messengyr v0.0.1 Messengyr.Web.UserSocket

# Summary

## Functions

connect(arg1, socket)

Receives the socket params and authenticates the connection

id(socket)

Identifies the socket connection

# Functions

connect(arg1, socket)

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`.

id(socket)

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`.