- What is ljsystem/bankid used for in Laravel?
- It is a thin Laravel-oriented wrapper around the Swedish BankID relying-party JSON API for authentication and signing. You use it to start BankID auth or sign orders, poll collect status, cancel transactions, and map BankID statuses and errors into your app. It is transport and endpoint ergonomics, not a complete identity product, so you still build session orchestration and consent UX.
- How do I install ljsystem/bankid via Composer?
- Install it with Composer using composer require ljsystem/bankid, then publish any package configuration if the package provides a config publish command. You need a BankID RP agreement, a test or production client certificate for mTLS, and network access to BankID endpoints before a real flow will work. Confirm the exact service provider and facade registration in the README for your Laravel version.
- Does ljsystem/bankid support BankID JSON API v6 and animated QR codes?
- The package is positioned around the BankID RP JSON API, and the technical evaluation notes v6-era animated QR and phone flows as the relevant target. Before committing, verify in the README or changelog that it implements v6.0 endpoints and how it handles API version changes. If QR image generation is not included, plan to render the animated QR payload with a front-end library.
- Which Laravel and PHP versions does ljsystem/bankid support?
- Supported PHP and Laravel versions are not established by the overview alone, so check the package composer.json and README constraints before installation. The evaluation flags PHP and Laravel version constraints as a risk to verify, along with PSR-4 and autoload quality. If your app is on an older or unsupported Laravel release, test in a branch first.
- How do I configure BankID client certificates for mTLS with this package?
- The package is expected to own the mTLS HTTP conversation with BankID, but the overview does not specify whether certificates are loaded from a file path, config value, or secrets manager. Confirm how it loads and validates P12 or PEM certificates and how rotation is handled. Also verify that TLS verification and sane timeouts are enforced, because this code path touches identity.
- Does ljsystem/bankid handle the full BankID auth and sign flow including collect and cancel?
- The package covers the BankID RP API surface such as auth, sign, collect, and cancel, and returns status objects your app polls until completion or failure. It does not orchestrate the full state machine for you, so you must persist orderRef and autoStartToken, bind a completed identity to your local session, and handle errors like userCancel or certificateErr. Plan your own audit trail and consent UX.
- Is ljsystem/bankid maintained and production-ready?
- Treat it as a small, single-maintainer package rather than a heavily validated identity product; the evaluation cites around 20 stars and limited community validation. MIT licensing is favorable because the surface area is small enough that forking is a realistic mitigation. For production, wrap it behind your own interface and monitor upstream BankID API changes.
- How should I store BankID orderRef and transaction state in a multi-node Laravel deployment?
- Persist the BankID orderRef, autoStartToken, and transaction status in shared storage such as Redis or the database so any Laravel node can service the polling request. Do not rely on in-process or single-node session state if you run multiple app servers behind a load balancer. Keep the BankID-specific status vocabulary out of your auth controllers by using an internal IdentityProvider interface.
- Does ljsystem/bankid include tests or a BankID test-environment harness?
- The overview does not confirm a test-environment harness, mocked responses, or contract tests, and the evaluation suggests coverage is likely thin. You should add your own tests around the adapter interface and use BankID's test environment as the first integration milestone. Mock the HTTP layer for CI so unit tests do not depend on certificates or network egress.
- What are alternatives to ljsystem/bankid for Laravel BankID integration?
- Alternatives include a direct HTTP client against the BankID RP JSON API or a more actively maintained Laravel or PHP BankID package. Because this package is a thin wrapper, the migration cost is mostly in your adapter and state machine, not in domain code. Define a narrow start, poll, and cancel interface now so you can swap implementations if maintenance stalls.