I was able to get it working, but there were issues I couldn't quite figure out where some users had difficulty with the API. It could have been a fluke, but we decided to limit the exposure to unknown problems and do it a traditional way.
For anyone else that wants to achieve this, I've put a code example and a mention about the problems you might face in this repo: