Melhores práticas de segurança pra uma API

Olá, estou desenvolvendo uma api pra uma aplicação (mobile e web) e tenho a seguinte dúvida:

Hoje a api está em api.exemplo.com.br, então qualquer pessoa que tenha o endereço consegue acessar o servidor da api. Pra deixar apenas a minha aplicação com "permissão" pra acessar as rotas da api, a melhor ideia seria com um token?

Coloque uma autenticação boa e toque sua vida. Se seu serviço for importante e agregar valor pra alguém com conhecimento e tempo o suficiente, nada que você vier a fazer vai impedir de ele usá-la. Sempre tem como burlar.