Acho que você pode dar uma olhada no tutorial que escrevi.
Eu uso esta função para conectar meu NextCloud ao meu Discourse.