IRMA backend packages
is a collection of libraries in multiple programming languages assuming the role
of the IRMA server in the IRMA protocol, allowing you to integrate IRMA in the backend
of your application. In particular, these libraries allow you to do the following:
- Starting IRMA sessions using a session request or a JWT at the IRMA server
- Retrieving the current status of IRMA sessions (only once or by receiving events on status updates)
- Retrieving session result or session result JWT when a session succeeded
- Cancelling IRMA sessions
- Retrieving the JWT public key of the IRMA server
- Generating a JWT of a session request
- Verifying a JWT of a session request or a session result
Additionally, they will handle all communication with the IRMA app.
Depending on the programming language, the libraries achieve this by either directly including
the IRMA server functionality, or by consuming the REST API exposed
The library will slightly differ per language, since each programming language has its own conventions.
For the list of currently available programming languages, check the GitHub README. (Note that for the Go programming language, there is
irmaserver Go package.)
If the programming language of your choice is not available yet, you can
always directly invoke the
irma server REST API.
If you think the programming language of your choice would benefit being part of
irma-backend-packages, you can always contact us or make an issue on GitHub.
If you made a library for a programming language yourself that we do not support yet, or if you added features to existing libraries, please send us a pull request. We are always interested in extending the IRMA ecosystem with support for additional programming languages.