{"repo":"antonengelhardt/wasm-oidc-plugin","free":true,"listed":false,"github":"https://github.com/antonengelhardt/wasm-oidc-plugin","clone":"git clone https://github.com/antonengelhardt/wasm-oidc-plugin.git","description":"A HTTP Filter checking for OIDC Authentication, made for Envoy Plugins, written in Rust","language":"Rust","stars":37,"topics":["envoy","envoy-filter","envoyproxy","openid-connect","rust","wasm","envoy-plugin","jwt-authentication","oidc","jwt"],"license":"Apache-2.0","category":"auth-billing-email","readme_excerpt":"wasm-oidc-plugin A Wasm-plugin for the Envoy-Proxy written in Rust acting as an HTTP Filter, that implements the OpenID Authorization Code Flow. Requests sent to the filter are checked for the presence of a valid session cookie. If the cookie is not present, the user is redirected to the authorization endpoint to authenticate. After successful authentication, the user is redirected back to the original path with the authorization code in the URL query. The plugin then exchanges the code for a token using the token endpoint and stores the token in the session. If the cookie is present and decryptable, the plugin validates the token and passes the request to the backend, if the token is valid (optional). Demo Go to demo-page to see the plugin in action. Auth0 is used as the OpenID provider. Simply create an account or login with Google. The plugin has been configured to show httpbin.org as the upstream. Then open the developer tools and check the cookies or use the httpbin cookie inspector. You will see a cookie called oidcSession-0 . This is the session, that holds the authorization state. If you delete the cookie and refresh the page, you will be redirected to the authorization endpoint to authenticate again. Why this repo? This repo is the result of a bachelor thesis in Information Systems. It is inspired by two other projects: oidc-filter & wasm-oauth-filter. This project has several advantages and improvements: 1. Encryption : The session in which the authorization state i","default_branch":null,"files":null,"tree":[],"storefront":"/r/antonengelhardt","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/antonengelhardt/wasm-oidc-plugin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}