Branch: master
Clone or download
Latest commit b1a61ef Feb 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
controllers Merge branch 'master' into feature/test-stub Feb 1, 2019
doc Fixing lint errors Feb 1, 2019
extras Update Node version Feb 4, 2019
lib Add sanity test based on injected data. Jan 22, 2019
policies Instructions to use JSON in custom policies Jan 19, 2016
test Add sanity test based on injected data. Jan 22, 2019
.dockerignore Make Docker more flexible. Nov 16, 2018
.eslintignore
.eslintrc Add sanity test based on injected data. Jan 22, 2019
.gitignore
.textlintrc
.travis.yml
CREDITS
Dockerfile-sample Make Docker more flexible. Nov 16, 2018
LICENSE Split License out to separate file Aug 21, 2018
README.md Fixing lint errors Feb 1, 2019
config.js Minor changes Feb 13, 2019
config.js.template
log_config.json Support for trusted applications Mar 12, 2018
mkdocs.yml
package-lock.json Minor changes Feb 13, 2019
package.json Add text lint to travis (commented out) Feb 1, 2019
roadmap.md Update roadmap.md Jan 25, 2019
server.js Resolve merge conflict. Feb 1, 2019

README.md

PEP Proxy - Wilma

FIWARE Security License: MIT Docker badge Support badge
Documentation badge Build Status Coverage Status Status

Wilma is a PEP Proxy - it can be combined with other security components such as Keyrock and Authzforce to enforce access control to your backend applications. This means that only permitted users will be able to access your Generic Enablers or REST services. Identity Management allows you to manage specific permissions and policies to resources allowing different access levels for your users.

This project is part of FIWARE. For more information check the FIWARE Catalogue entry for Security.

📚 Documentation 🎓 Academy 🐳 Docker Hub 🎯 Roadmap

Content

Install

  • Software requirements:

    • nodejs >= v8.x.x
    • npm >= 5.x.x

Note: Both can be installed from (http://nodejs.org/download/)

  • Clone Proxy repository:
git clone https://github.com/ging/fiware-pep-proxy.git
  • Install the dependencies:
cd fiware-pep-proxy/
npm install
  • Duplicate config.template in config.js and configure app host there.
config.app_host = "www.google.es"; // Hostname to forward authenticated requests
config.app_port = "80"; // Port where the HTTP server is running
  • Start proxy server
sudo node server

Docker

We also provide a Docker image to facilitate you the building of this GE.

  • Here you will find the Dockerfile and the documentation explaining how to use it.
  • In Docker Hub you will find the public image.

API

Requests to proxy should be made with a special HTTP Header: X-Auth-Token. This header contains the OAuth access token obtained from FIWARE IDM GE.

Example of request:

GET / HTTP/1.1
Host: proxy_host
X-Auth-Token:z2zXk...ANOXvZrmvxvSg

To test the proxy you can generate this request running the following command:

curl --header "X-Auth-Token:z2zXk...ANOXvZrmvxvSg" http://proxy_host

Once authenticated, the forwarded request will include additional HTTP headers with user info:

X-Nick-Name: nickname of the user in IdM
X-Display-Name: display name of user in IdM
X-Roles: roles of the user in IdM
X-Organizations: organizations in IdM

Tests

For performing a basic end-to-end test, you have to follow the next steps. A detailed description about how to run tests can be found here.

Requests to proxy should be made with a special HTTP Header: X-Auth-Token. This header contains the OAuth access token obtained from FIWARE IDM GE.

Example of request:

 GET / HTTP/1.1
 Host: proxy_host
 X-Auth-Token:z2zXk...ANOXvZrmvxvSg

To test the proxy you can generate this request running the following command:

 curl --header "X-Auth-Token:z2zXk...ANOXvZrmvxvSg" http://proxy_host

Once authenticated, the forwarded request will include additional HTTP headers with user info:

 X-Nick-Name: nickname of the user in IdM
 X-Display-Name: display name of user in IdM
 X-Roles: roles of the user in IdM
 X-Organizations: organizations in IdM

Advanced Documentation

Quality Assurance

This project is part of FIWARE and has been rated as follows:

  • Version Tested:
  • Documentation:
  • Responsiveness:
  • FIWARE Testing:

License

Wilma PEP Proxy is licensed under the MIT License.

© 2018 Universidad Politécnica de Madrid.