Keyblock
Authentication POC with Ethereum and Keycloak
Install / Use
/learn @ineat/KeyblockREADME
Keyblock Proof of Concept
The idea behind Keyblock is to married Keycloak product with the Blockchain world.
For further considerations, take a look at our ideations document
Keyblock extensions
We provide some Keycloak extensions to play with Keycloak and the blockchain world.
See the related README to get started
Getting started
Prerequisites
- Maven
- Java 11
- Docker
- A Metamask wallet (browser extension) installed
- A supported blockchain configured into the Wallet
Start the Keyblock middleware
To start the keyblock middleware, just run make start (that build the jars and run keycloak in a container mode). Your local instance is accessible on http://localhost:8580
you can individually build and run each project thanks to the make targets. For details, see the make file content.
How to play with the POC
- Check the blockchain-connect README to discover Ropsten accounts details to use
- Connect to the Keycloak admin console with
admin/passwordcredentials - Go to the
Keyblockrealm - Check the pre-configured flows in the
AuthenticationtabKeyblock Authentication: A simple authentication flow with the Wallet authentication.Keyblock SSO: An SSO flow that check if a session exist in the Keyblock SmartContract- go to the
Configon each execution to set the correct Ethereum addresses (the default values should work)
- go to the
- Use the Account console to test the authentication
- A user with your Ethereum address must exist in Keycloak. To easily create one, click the
Registerlink on the Metamask login page- fill your ethereum address in the dedicated field (this should be automagic if your metamask extension is active)
- A user with your Ethereum address must exist in Keycloak. To easily create one, click the
- To test the SSO flow, switch the default authentication flow to
Keyblock SSO- after you log in; an ethereum transaction is sent to the SmartContract; you can show his status by pickup the
tx idin the keycloak log and search it in the https://ropsten.etherscan.io/ website- try to login again in a new browser windows, you should be automatically authenticated if your ethereum transaction is accepted (this can take several seconds depending on the network saturation)
- if you log out, the keycloak event listener send logout data to the SmartContract (your next connection will require a Metamask authentication again
- after you log in; an ethereum transaction is sent to the SmartContract; you can show his status by pickup the
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
