diff --git a/.run/Web wallet backend.run.xml b/.run/Web wallet backend.run.xml index 1ef671982..d4bbcfaff 100644 --- a/.run/Web wallet backend.run.xml +++ b/.run/Web wallet backend.run.xml @@ -1,14 +1,14 @@ - - - + + + \ No newline at end of file diff --git a/docker-compose/wallet-api/config/_features.conf b/docker-compose/wallet-api/config/_features.conf index b743da066..113c00692 100644 --- a/docker-compose/wallet-api/config/_features.conf +++ b/docker-compose/wallet-api/config/_features.conf @@ -1,5 +1,11 @@ enabledFeatures = [ - # trusted-ca + # external-signature-endpoints, + # trusted-ca, # entra, + # ktor-authnz, + # dev-mode # ... ] +disabledFeatures = [ + # auth # legacy auth +] diff --git a/docker-compose/wallet-api/config/ktor-authnz.conf b/docker-compose/wallet-api/config/ktor-authnz.conf new file mode 100644 index 000000000..93957c032 --- /dev/null +++ b/docker-compose/wallet-api/config/ktor-authnz.conf @@ -0,0 +1,35 @@ +# Will secure login cookies with `Secure` context, enable HTTS and HTTP->HTTPS redirect +requireHttps = false + +# Key (all waltid-crypto supported) to sign login token - has to be key allowing signing (private key) +signingKey = {"type": "jwk", "jwk": {"kty": "OKP", "d": "z8Lk85rAtfv2RJN_cD_-9nqHHwKTlTQ5_I53LcsHjC4", "use": "sig", "crv": "Ed25519", "x": "Ew76rQJ9gPHCOBOwJlf__Il5IjgSAc3bQ_a8psd-F3E", "alg": "EdDSA"}} + +# Key (all waltid-crypto supported) to verify incoming login tokens - public key is ok. +verificationKey = {"type": "jwk", "jwk": {"kty": "OKP", "d": "z8Lk85rAtfv2RJN_cD_-9nqHHwKTlTQ5_I53LcsHjC4", "use": "sig", "crv": "Ed25519", "x": "Ew76rQJ9gPHCOBOwJlf__Il5IjgSAc3bQ_a8psd-F3E", "alg": "EdDSA"}} + +# Provide pepper to use for additional password salting (unique string for your deployment, +# has to be shared between instances). +pepper = "waltid" + +# Hash algorithm to use for passwords for signing. +# You can choose from algorithms like: ARGON2, PBKDF2, PBKDF2_COMPRESSED, BCRYPT, SCRYPT, BALLON_HASHING, MESSAGE_DIGEST, NONE +hashAlgorithm = ARGON2 + +# Configure the Auth Flow (refer to: waltid-ktor-authnz) +authFlow = { + method: web3 + expiration: "7d" # optional: Set expiration time for login tokens, e.g. a week + ok: true # Auth flow ends successfuly with this step +} + +cookieDomain = null + +# If you previously used other (older) password hash algorithms, you +# can use this function to migrate old hashes to new hash algorithms. This +# works at login-time: When a user logs in with a password that uses a hash algorithm +# on this list, the password will be re-hashed in the specified replacement algorithm. +# If null is used as hash algorithm selector, all algorithms expect for the target +# algorithm will be converted automatically. +hashMigrations = { + MESSAGE_DIGEST: ARGON2 # E.g.: Convert all the MD5 hashes to Argon2 hashes +} diff --git a/docker-compose/wallet-api/walt.yaml b/docker-compose/wallet-api/walt.yaml deleted file mode 100644 index b29a51c8f..000000000 --- a/docker-compose/wallet-api/walt.yaml +++ /dev/null @@ -1,61 +0,0 @@ -hikariDataSource: - jdbcUrl: jdbc:sqlite:data/walt.db - maximumPoolSize: 5 - autoCommit: false - dataSource: - journalMode: WAL - fullColumnNames: false - -azureKeyVaultConfig: - baseURL: - id: - secret: - -providers: - ethereum: "ethereum" - goerli: "https://eth-goerli.g.alchemy.com/v2/5TYSteGJgJwJjaQTNN3j_4JtYcvdr3Uy" - sepolia: "https://eth-sepolia.g.alchemy.com/v2/MBOqmZ2X5rRqHqA4Mu_nB3cy9LqndpCX" - polygon: "https://polygon-mainnet.g.alchemy.com/v2/5TYSteGJgJwJjaQTNN3j_4JtYcvdr3Uy" - mumbai: "https://polygon-mumbai.g.alchemy.com/v2/5TYSteGJgJwJjaQTNN3j_4JtYcvdr3Uy" - astar: "https://evm.astar.network" - moonbeam: "https://rpc.api.moonbeam.network" - unique: "https://rpc.unique.network" - opal: "https://rpc-opal.unique.network" - -privateKey: "bd4cb3e507f342ee3a710370cef39dda48f17b0a158b0b8dd3f000fbd5b2c2d9" - -keys: - 0xaf87c5Ce7a1fb6BD5aaDB6dd9C0b8EF51EF1BC31: "bd4cb3e507f342ee3a710370cef39dda48f17b0a158b0b8dd3f000fbd5b2c2d9" - 0x8448Ff4b2733b52f62d81ca46d64bD16786299Cd: "d720ef2cb49c6cbe94175ed413d27e635c5acaa1b7cf03d1faad3a0abc2f53f3" - 0x6E7448a6335d5C947953994d071D4Dc1F6e5BE96: "b4680ed04f685a2334dea52c069dfa696c02bd3c14e94b99187f5925a555eebe" - 0xc8ca7c4f2dc014d7e4fc6973052da1517b4c54da: "9b9c46d0873a9982ade718ab3f4cfc57172b2f07c21b9901ddf239e931d2d6dc" - - -indexersUrl: - uniqueUrl: "https://api-unique.uniquescan.io/v1/graphql" - opalUrl: "https://api-opal.uniquescan.io/v1/graphql" - - -polkadotAccounts: - - seed: "unhappy crew auto cloud seat trial room later label sight letter famous" - seedPassword: "testtest" - - seed: "motor swim often garbage often year fly raccoon summer van home swallow" - seedPassword: "testtest" - - seed: "word monkey pride fitness viable leave own eight title joy genre online" - seedPassword: "testtest" - - seed: "clip review orange grocery menu cram gaze job input control cup fetch" - seedPassword: "testtest" - - seed: "loyal parade runway vote myself gossip climb select reflect brass science spray" - seedPassword: "testtest" - - - - -apiKeys: - ethereumBlockExplorer: "JGD5ZUUBHE8CUXPNKZASVQPHRGBMB7A5XV" - polygonBlockExplorer: "DZ3PFVWGJE5B8DMDQPRZ5JFBR6U484B82G" - alchemy: "5TYSteGJgJwJjaQTNN3j_4JtYcvdr3Uy" - nftstorage: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkaWQ6ZXRocjoweDYwNDNEYThENjU2RTU3NTg2ZDk3MkM1ZDM5RUNENzI1NTNCM2Q1NjAiLCJpc3MiOiJuZnQtc3RvcmFnZSIsImlhdCI6MTY1NDYxNTQ2NjIwNCwibmFtZSI6Ik5GVCBLSVQifQ.PkMJpU3aJMQXqzq1nPnHJcWJR-32as3bQed3GBszMdg" - subscan: "" - -tezosBackendServer: "http://nftkit-js:80" \ No newline at end of file diff --git a/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/layouts/default-reduced-nav.vue b/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/layouts/default-reduced-nav.vue index 4eb151936..f6460fed7 100644 --- a/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/layouts/default-reduced-nav.vue +++ b/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/layouts/default-reduced-nav.vue @@ -234,7 +234,7 @@ {{ user.friendlyName }}