All Projects β†’ ging β†’ fiware-pep-proxy

ging / fiware-pep-proxy

Licence: MIT license
Support for proxy functions within OAuth2-based authentication schemas. Also implements PEP functions within an XACML-based access control schema.

Programming Languages

javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to fiware-pep-proxy

server
AuthzForce Server (Community Edition)
Stars: ✭ 48 (+84.62%)
Mutual labels:  access-control, fiware
tutorials.TourGuide-App
πŸŽ“ FIWARE Tour Guide Application.
Stars: ✭ 17 (-34.62%)
Mutual labels:  fiware
Leosac
Leosac - Open Source Physical Access Control System
Stars: ✭ 167 (+542.31%)
Mutual labels:  access-control
Beego Authz
Beego's RBAC & ABAC Authorization middleware based on Casbin
Stars: ✭ 208 (+700%)
Mutual labels:  access-control
Patron
Patron - Access Control as a Service for OpenStack
Stars: ✭ 171 (+557.69%)
Mutual labels:  access-control
Chi Authz
chi-authz is an authorization middleware for Chi
Stars: ✭ 248 (+853.85%)
Mutual labels:  access-control
Security.identity
.NET DevPack Identity is a set of common implementations to help you implementing Identity, Jwt, claims validation and another facilities
Stars: ✭ 165 (+534.62%)
Mutual labels:  access-control
ngx-access
Add access control to your components using hierarchical configuration with logical expressions.
Stars: ✭ 21 (-19.23%)
Mutual labels:  access-control
osdp-python
A Python control panel implementation of the Open Supervised Device Protocol (OSDP)
Stars: ✭ 28 (+7.69%)
Mutual labels:  access-control
Casbin Authz Plugin
Docker Authorization Plugin based on Casbin
Stars: ✭ 204 (+684.62%)
Mutual labels:  access-control
Drf Access Policy
Declarative access policies/permissions modeled after AWS' IAM policies.
Stars: ✭ 200 (+669.23%)
Mutual labels:  access-control
Protobuf Adapter
Google Protocol Buffers adapter for Casbin
Stars: ✭ 185 (+611.54%)
Mutual labels:  access-control
pep map site
🐍 Web page that visualizes the reference relation between PEPs (Python Enhancement Proposals).
Stars: ✭ 17 (-34.62%)
Mutual labels:  pep
Casbin Server
Casbin as a Service (CaaS)
Stars: ✭ 171 (+557.69%)
Mutual labels:  access-control
sigfox-iotagent
IoT Agent for the Sigfox protocol
Stars: ✭ 11 (-57.69%)
Mutual labels:  fiware
Redis Adapter
Redis adapter for Casbin
Stars: ✭ 167 (+542.31%)
Mutual labels:  access-control
Laravel Surveillance
Put malicious users, IP addresses and anonymous browser fingerprints under surveillance, log the URLs they visit and block malicious ones from accessing the Laravel app.
Stars: ✭ 198 (+661.54%)
Mutual labels:  access-control
Caddy Authz
Caddy-authz is a middleware for Caddy that blocks or allows requests based on access control policies.
Stars: ✭ 221 (+750%)
Mutual labels:  access-control
kms-filters
Filter elements for Kurento Media Server
Stars: ✭ 15 (-42.31%)
Mutual labels:  fiware
ficam-playbooks
The Federal Identity Credentials and Access Management program publishes guides and playbooks to help U.S. federal executive agencies implement, maintain, and modernize identity management systems.
Stars: ✭ 30 (+15.38%)
Mutual labels:  access-control

PEP Proxy - Wilma

FIWARE Security License: MIT Docker badge Support badge
Documentation badge CI Coverage Status Status CII Best Practices

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 Node.js

  • 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 npm start

ATTENTION!!!

There is an existing security exploit in all versions older than 2.15 of Log4J. Although not using this software currently, the older 7.x.x versions of PEP-Proxy used to use Log4j for logging. Prior to the release 8.0.0, older versions of this software were affected by this exploit as well. Logging was updated to use Debug and Morgan in March 2021. We released a new version 8.0.0 on dockerhub. Also latest is updated already. If still using 7.x.x please update as soon as possible.

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 requests:

GET / HTTP/1.1
Host: proxy_host
Authorization: Bearer z2zXk...ANOXvZrmvxvSg
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

or

curl --header "Authorization: Bearer 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 requests:

GET / HTTP/1.1
Host: proxy_host
Authorization: Bearer z2zXk...ANOXvZrmvxvSg
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

or

curl --header "Authorization: Bearer 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 - 2022 Universidad PolitΓ©cnica de Madrid.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].