Skip to content

Commit

Permalink
Add release workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Anton Engelhardt <[email protected]>
  • Loading branch information
antonengelhardt committed Jan 15, 2024
1 parent 09a8e5f commit 052f203
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 1 deletion.
47 changes: 47 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Release new version

on:
push:
tags:
- v*

jobs:

build:
runs-on: ubuntu-latest
container:
image: antonengelhardt/rust-docker-tools
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Build
run: |
cargo build --target wasm32-wasi --release
- name: Archive production artifacts
uses: actions/upload-artifact@v2
with:
name: wasm_oidc_plugin.wasm
path: target/wasm32-wasi/release/wasm_oidc_plugin.wasm

docker-image:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Push to Docker Hub
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: antonengelhardt/wasm-oidc-plugin:${{ github.ref }}

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This repo is the result of a bachelor thesis in Information Systems. It is inspi

1. **Encryption**: The session in which the authorization state is stored is encrypted using AES-256, by providing a Key in the config and a session-based nonce. This prevents the session from being read by the user and potentially modified. If the user tries to modify the session, the decryption fails and the user is redirected to the `authorization_endpoint` to authenticate again.
2. **Configuration**: Many configuration options are available to customize the plugin to your needs. More are coming ;)
3. **No crash during startup**: The plugin does not crash during startup, if the OIDC configuration is not available. Instead, it waits until the configuration is loaded and then starts handling requests by pausing them and resuming them once the configuration is loaded.
3. **Stability**: The plugin aims to be stable and ready for production. All forceful value unwraps are expected to be valid. If the value may be invalid or in the wrong format, error handling is in place.
4. **Optional validation**: The plugin can be configured to validate the token or not. If the validation is disabled, the plugin only checks for the presence of the token and passes the request to the backend. This is because the validation is taking a considerable amount of time. This time becomes worse with the length of the signing key. Cryptographic support is not fully mature in WASM yet, but [there is hope](https://github.com/WebAssembly/wasi-crypto/blob/main/docs/HighLevelGoals.md).
5. **Documentation and comments**: The code is documented and commented, so that it is easy to understand and extend.

Expand Down

0 comments on commit 052f203

Please sign in to comment.