Не очень понятно - зачем в вашем приложении Nextcloud работающий через WebDAV?
Какая реализация в сервисах yandex, google, как они работают со своими файловыми хранилищами, доступом?
Современные приложения типично используют object storage (S3 compatible).
Использовать внешние облачные решения нет возможности.
Если хотите хостить сами - то можно MinIO. Можно поставить на тот же самый хост, что и приложение, а можно и развернуть систему из нескольких хостов.
Если же оставаться с Nextcloud, то другой вариант - настроить Nextcloud чтобы он мог отдавать файлы напрямую, без WebDAV, по ссылке, но здесь могут быть вопросы по аутефикации.
как реализовать проверку доступа к файлам?
Не очень понятно - что такое "проверка доступа"?