Вариант очень интересный. Мое приложение не предполагает разделение на роли, но отделить авторизацию в отдельный сервис звучит круто
Вопрос же не в крутости, а в необходимости.
OAuth, опять же не предполагает обязательное разделение на роли.
Вам, я так понял, нужно предоставлять определённым пользователям доступ к определённым ресурсам. OAuth это позволяет.
С другой стороны, вы можете использовать обычные сессии и хранить доступы в базе.
Вопрос в сложности проекта и конкретных требованиях.
Пока что контекста маловато, чтоб что-то объективно оценить и дать нормальный ответ.
Но вариантов у вас немного:
— сессии,
— jwt,
— oauth,
— комбинации вышеперечисленных вариантов