-
-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* auth server * cleaning up * auth ledger class * class variables -> instance variables * annotations * add models and api route * custom amount and api prefix * add auth db * blind auth token working * jwt working * clean up * JWT works * using openid connect server * use oauth server with password flow * new realm * add keycloak docker * hopefully not garbage * auth works * auth kinda working * fix cli * auth works for send and receive * pass auth_db to Wallet * auth in info * refactor * fix supported * cache mint info * fix settings and endpoints * add description to .env.example * track changes for openid connect client * store mint in db * store credentials * clean up v1_api.py * load mint info into auth wallet * fix first login * authenticate if refresh token fails * clear auth also middleware * use regex * add cli command * pw works * persist keyset amounts * add errors.py * do not start auth server if disabled in config * upadte poetry * disvoery url * fix test * support device code flow * adopt latest spec changes * fix code flow * mint max bat dynamic * mypy ignore * fix test * do not serialize amount in authproof * all auth flows working * fix tests * submodule * refactor * test * dont sleep * test * add wallet auth tests * test differently * test only keycloak for now * fix creds * daemon * fix test * install everything * install jinja * delete wallet for every test * auth: use global rate limiter * test auth rate limit * keycloak hostname * move keycloak test data * reactivate all tests * add readme * load proofs * remove unused code * remove unused code * implement change suggestions by ok300 * add error codes * test errors
- Loading branch information
Showing
58 changed files
with
8,188 additions
and
701 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: tests_keycloak | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
python-version: | ||
default: "3.10.4" | ||
type: string | ||
poetry-version: | ||
default: "1.8.5" | ||
type: string | ||
mint-database: | ||
default: "" | ||
type: string | ||
os: | ||
default: "ubuntu-latest" | ||
type: string | ||
|
||
jobs: | ||
poetry: | ||
name: Auth tests with Keycloak (db ${{ inputs.mint-database }}) | ||
runs-on: ${{ inputs.os }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
|
||
- name: Prepare environment | ||
uses: ./.github/actions/prepare | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
poetry-version: ${{ inputs.poetry-version }} | ||
|
||
- name: Start PostgreSQL service | ||
if: contains(inputs.mint-database, 'postgres') | ||
run: | | ||
docker run -d --name postgres \ | ||
-e POSTGRES_USER=cashu \ | ||
-e POSTGRES_PASSWORD=cashu \ | ||
-e POSTGRES_DB=cashu \ | ||
-p 5432:5432 postgres:16.4 | ||
until docker exec postgres pg_isready; do sleep 1; done | ||
- name: Prepare environment | ||
uses: ./.github/actions/prepare | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
poetry-version: ${{ inputs.poetry-version }} | ||
|
||
- name: Start Keycloak with Backup | ||
run: | | ||
docker compose -f tests/keycloak_data/docker-compose-restore.yml up -d | ||
until docker logs $(docker ps -q --filter "ancestor=quay.io/keycloak/keycloak:25.0.6") | grep "Keycloak 25.0.6 on JVM (powered by Quarkus 3.8.5) started"; do sleep 1; done | ||
- name: Verify Keycloak Import | ||
run: | | ||
docker logs $(docker ps -q --filter "ancestor=quay.io/keycloak/keycloak:25.0.6") | grep "Imported" | ||
- name: Run tests | ||
env: | ||
MINT_BACKEND_BOLT11_SAT: FakeWallet | ||
WALLET_NAME: test_wallet | ||
MINT_HOST: localhost | ||
MINT_PORT: 3337 | ||
MINT_TEST_DATABASE: ${{ inputs.mint-database }} | ||
TOR: false | ||
MINT_REQUIRE_AUTH: TRUE | ||
MINT_AUTH_OICD_DISCOVERY_URL: http://localhost:8080/realms/nutshell/.well-known/openid-configuration | ||
MINT_AUTH_OICD_CLIENT_ID: cashu-client | ||
run: | | ||
poetry run pytest tests/test_wallet_auth.py -v --cov=mint --cov-report=xml | ||
- name: Stop and clean up Docker Compose | ||
run: | | ||
docker compose -f tests/keycloak_data/docker-compose-restore.yml down | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.