Phoenix Channels Authorization Example

I do the authentication in user_socket to get the user id.

Now in room_channel, to authorize the user, would it be a good idea to set the argument of authorized?/1 as socket.assigns.current_user?

def join("room:" <> room_id, payload, socket) do
 if authorized?(socket.assigns.current_user) do
  {:ok, socket}
 else
  {:error, "nope not authorized"}
 end
end

.

defp authorized?(useridpayload) do
 useridpayload = String.to_integer(useridpayload)
  ... repo get user role pseudocode..
  case role do
   "admin" -> true
   "user" -> true
    _ -> false
  end 
 end