A library for providing BankID services as an RP (Relying party).
Supports the latest v6 features.
To learn how to use the library, please refer to the documentation. There are some examples that may be useful as well.
The library can be installed through go get
go get github.com/e-identification/bankid-go
We support the two major Go versions, which are 1.21 and 1.22 at the moment.
- Supports all v6.0 features
// Creates new BankIDClient instance
NewBankIDClient(configuration *configuration.Configuration) (*BankIDClient)
// Initiates an authentication order
(b BankIDClient) Authenticate(context context.Context, payload *AuthenticationPayload) (*AuthenticateResponse, error)
// Initiates a phone authentication order
(b BankIDClient) PhoneAuthenticate(context context.Context, payload *PhoneAuthenticationPayload) (*PhoneAuthenticateResponse, error)
// Initiates a sign order
(b BankIDClient) Sign(context context.Context, payload *SignPayload) (*SignResponse, error)
// Initiates a phone sign order
(b BankIDClient) PhoneSign(context context.Context, payload *PhoneSignPayload) (*PhoneSignResponse, error)
// Collects the result of a sign or auth order using the orderRef as reference
(b BankIDClient) Collect(context context.Context, payload *CollectPayload) (*CollectResponse, error)
// Cancels an ongoing sign or auth order
(b BankIDClient) Cancel(context context.Context, payload *CancelPayload) (*CancelResponse, error)
go test -v -race $(go list ./...)
We use GitHub Actions to make sure the codebase is consistent (golangci-lint run
) and continuously tested (go test -v -race $(go list ./...)
). We try to keep comments at a maximum of 120 characters of length and code at 120.
If you find any problems or have suggestions about this library, please submit an issue. Moreover, any pull request, code review and feedback are welcome.