Usuário não administrador pode emitir sua própria chave de API?

Você precisa adicionar o domínio (e o caminho) à configuração do site allowed user api auth redirects.

Se você estiver fazendo solicitações HTTP manualmente, então discourse://auth_redirect deve funcionar.