@haus-tech/bankid-auth-plugin
v1.0.7
Published
Support for authentication via Swedish BankID
Downloads
31
Readme
name: bankid-auth-plugin title: BankID Auth Plugin description: Vendure plugin that integrates BankID authentication into your e-commerce platform. version: 1.0.1
BankID Auth Plugin
The BankID Auth Plugin is a Vendure plugin that integrates BankID authentication into your e-commerce platform. BankID is a secure and widely used electronic identification system, primarily in Sweden, that allows users to authenticate themselves online.
Functionality
- Enable secure customer authentication using BankID.
- Provides REST endpoints for initiating, authenticating, and canceling BankID sessions.
- Validates user IP addresses during authentication for enhanced security.
- Supports a customizable post-authentication strategy for handling successful authentications.
Use Cases
The BankID Auth Plugin is ideal for:
- E-commerce platforms that require secure and reliable customer authentication.
- Businesses operating in Sweden or regions where BankID is widely used.
- Scenarios where IP validation and session management are critical.
Installation
To install the BankID Auth Plugin, follow these steps:
Install the plugin package:
yarn add @haus-tech/bankid-auth-pluginOr, if using npm:
npm install @haus-tech/bankid-auth-pluginAdd the plugin to your Vendure configuration in
vendure-config.ts:import { BankidAuthPlugin } from '@haus-tech/bankid-auth-plugin'; export const config = { plugins: [ BankidAuthPlugin.init({ bankidApiUrl: 'https://api.bankid.com', clientCert: '/path/to/client-cert.pem', clientKey: '/path/to/client-key.pem', }), ], };Restart your Vendure server.
Usage
Admin Configuration
The plugin does not provide a direct UI-based configuration. Instead, it is configured programmatically in the Vendure configuration file.
REST API
The plugin provides the following REST endpoints:
POST /api/bankid/initiate: Starts a BankID session.POST /api/bankid/authenticate: Authenticates a user based on an order reference.POST /api/bankid/cancel: Cancels an ongoing BankID session.
Example Integration
To integrate BankID authentication into your storefront, use the provided REST endpoints. For example:
fetch('/api/bankid/initiate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ endUserIp: '192.168.1.1' }),
})
.then((res) => res.json())
.then((data) => {
console.log(data);
});Testing
- Run
yarn testto execute the e2e tests. - Implement additional tests to cover your specific use cases.
Publish to NPM
Make sure you are logged in to NPM.
Build the plugin:
yarn buildPublish the plugin:
yarn publish
Resources
- Vendure Plugin Documentation
- BankID API Documentation for detailed information on BankID's authentication services.
