если запросы идут например от Angular(IP-Юзвера а не App-Server)
Недопустить использования API извне, за исключением Whitelisted.
Два противоречащих друг другу правила.
Вы можете давать:
1. публичный (когда токен не нужен).
2. авторизованный доступ (когда клиент уже залогинился и получил токен для доступа к API, затем обратился к API, подписав запрос выданным токеном при логоне)
3. закрытый - двухфакторная авторизация с динамическим ключом (когда формула генерации динамического токена для подписи запроса выдана через иной канал: почту или ещё как-то)
Других вариантов для API - нет.