This sample Node.JS application takes in an AuthZEN authorization request, converts it to a XACML REST/JSON request, sends it off to a XACML-compliant PDP, receives a XACML REST/JSON response, converts it to an AuthZEN decision and returns that decision to the client.
The code uses Express to expose a REST service and Axios to implement a client that connects to a remote XACML-compliant PDP.
The parsing between AuthZEN and XACML takes place in buildXACMLRequest.js and translateXACMLResponse.js.
For the time being, only the actual decision is supported. Obligations and advice (XACML) as well as additional features are not in scope for this interop.
- Use Docker to build a container:
docker build .
- Tag your docker image
- Push docker image to the GCR Registry
- OpenID AuthZEN Working Group
- OASIS XACML REST/JSON
- AuthZEN Interop Website
- AuthZEN Sample Request/Response Collection