Протокол XMPP сам поддерживает аутентификацию SASL, также более поздние спецификации SASL поддерживают OAuth2 и OAuth1.a, как видно из rfc7228 .
Также XMPP поддерживает другие привязки, кроме TCP, такие как Websocket one ( RFC7395 ) или более медленная BOSH. В этом случае вы можете использовать «традиционный» API-интерфейс для OAuth2, другими словами, используйте OAuth2, как это делается в классическом веб-приложении, и используйте XMPP в качестве передачи сообщений / данных.
Итак, ответ на ваши вопросы - ДА, он поддерживает OAuth2, как говорит спецификация.