Noa - OAuth2 server, Noa OAuth2 Playground

Noa is an OAuth2 server implementation.

Noa Playground is similar to Google OAuth2 Playground. It is designed to work with Noa.

Both are still work-in-progress. But at a point anyone can try them out. Checkout these repos. Both have instructions on how to get them up and running. You can build your docker images (docker build is based on bitwalker alpine image). Scripts are provided for setup and tear-down. Hopefully easy to try out locally.

2 Likes

Ooo awesome! Elixir’s been needing an OAuth2 server! :slight_smile:

I was attempting to use your TEA library to build Noa Playground. But backed out after troubles with Bucklescript.

The bs-platform 1.8.2 does not install correct on Ubuntu 16.04. I thought building it from source might help. I had the same problem with building from source as well.

I thought I would just checkout a known tag and build off that tag. But the Bucklescript github is not yet following some basic release tagging.

I exptected github tags for every npm release. But that is not the case. The last tag is marked “1.5.1” but npm version is “1.8.2”. So I gave up and went with Vuejs.

Hmm I use ubuntu (derivative) at home without issues. What error did you get? Did you post it to BS’s issue tracker?

Someone else had reported the error earlier. It was getting fixed based on the isues thread. I don’t remember the specifics now. It is something to do with some “.cmi” file. I will wait for the next npm release.

I hope to check out your TEA lib at somepoint. Do you use the bs-platform npm package or do you build from sources on your Ubuntu derivative?

I use the it from npm package manager at work on windows, and from the npm package manager at work on redhat, but I build it manually on ubuntu at home as that is where I dev. Works on all.

Any advantage over the existing Shield/Authable OAuth2 provider implementation?

Aren’t those Client libraries? This one is a Server.

Awesome news. Until now the only reusable lib to setup an Oauth Server was https://github.com/kivra/oauth2 in Erlang. Great.

1 Like

Not true. Shield is oauth2 server. That’s what provider means.

1 Like

Checkout the Shield Oauth2 server. It has been out for a while already.

Thanks for the correction @contang0. Will checkout shield.

Updated the build and setup instructions in README.md. Here is the update:

Make sure that you have Elixir 1.5.0/Erlang 20.0.x, Nodejs, npm
and Docker installed.

Build Docker Image

git clone https://github.com/handnot2/noa
cd noa
mix deps.get
cd assets
npm install
cd ..
mix compile
sudo mix docker.build --no-cache
sudo mix docker.release --no-cache

If you have any issues with PATH when doing docker.build and
docker.release commands, insert env "PATH=$PATH" between sudo
and mix in the above commands.

Noa Installation using Docker Image

./noa_docker_init.sh ${HOME}/mynoa
cd ${HOME}/mynoa
vim seeds/ro_quickstart.creds
./noa_docker_seed.sh

Checkout the README.md file in ${HOME}/mynoa for instructions on
seeds/ro_quickstart.creds file.

At the end of this you will have a docker based instance of Noa running.
From this point out, you simply use docker-compose to manage Noa.

Make sure to add

127.0.0.1 my.noa

To your /etc/hosts file.

Head over to Noa Playground.
Instructions over there show how to setup your own local OAuth2 Playground
to work with Noa.

Good to know that we have more options on Elixir ecosystem, sometime ago I was searching for a replacement of Doorkeeper (Ruby Oauth2 Provider) and got stuck. Great.