Depois de analisar o código, acabei codificando um proxy muito simples que lida com vários obstáculos necessários para criar uma Chave de API de Usuário e passá-la para a API; ele também gera um link que os usuários precisam colar em seus aplicativos de calendário:
Espero que tudo isso um dia chegue ao código do Discourse e não seja mais necessário - enquanto isso, estou compartilhando isso na esperança de facilitar a vida de outros.