This project provides the consent UIs for the UK Open Banking edition of the Secure API Gateway project. The UK Open Banking specifications require that the resource owner (the bank account holder) must give consent for the resource server (the bank) to share their date with the third party service provider (e.g. the fintec application). These UIs are based on the Open Banking Customer Experience Guidelines and may be used in conjunction with the Open Banking Test Facility Bank and the Open Banking Remote Consent Service to provide a full set of Open Banking compliant consent journeys.
These UIs are currently functional, but they rely on old versions of 3rd party libraries. They are provided as is for use with test facilities in which there is no sensitive data stored, or as a basis for writing your own UIs. Those wishing to use the Secure API Gateway to protect a production Open Banking system should write their own consent UIs or use the existing consent management system already in place at your organisation.
The UIs maybe updated at some point depending on interest from the community and how important users feel this is.
Dependabot security alerts may be seen for the project here.
tech | version |
---|---|
Angular CLI | 9.0.1 |
Node | " >=14 <16 " |
npm | " >=6 <8 " |
Angular | 9.0.0 |
engine-strict=true (@See the .npmrc file)
Scope @secureapigateway that allows you to seamlessly use a mix of packages from the public npm registry and one or more private registries
Package | cli-ui | common-ui | rcs-ui | swagger-ui |
---|---|---|---|---|
@angular-devkit/architect | 0.803.20 | 0.900.1 | 0.900.1 | 0.900.2 |
@angular-devkit/build-angular | . | 0.900.1 | 0.900.1 | 0.900.2 |
@angular-devkit/build-ng-packagr | . | 0.900.1 | 0.900.1 | . |
@angular-devkit/build-optimizer | . | 0.900.1 | 0.900.1 | 0.900.2 |
@angular-devkit/build-webpack | . | 0.900.1 | 0.900.1 | 0.900.2 |
@angular-devkit/core | 8.3.20 | 9.0.1 | 8.0.0 | 8.0.0 |
@angular-devkit/schematics | 8.3.20 | 9.0.1 | 8.0.0 | 8.0.0 |
@angular/cli | 8.3.20 | 9.0.1 | 9.0.1 | 9.0.1 |
@angular/flex-layout | . | 7.0.0-beta.19 | 7.0.0-beta.19 | 7.0.0-beta.19 |
@ngtools/webpack | . | 9.0.1 | 9.0.1 | 9.0.1 |
@nguniversal/common | . | . | 9.0.0 | 9.0.0 |
@nguniversal/express-engine | . | 7.1.1 | 9.0.0 | 9.0.0 |
@schematics/angular | 8.3.20 | 9.0.1 | 8.0.0 | 8.0.0 |
@schematics/update | 0.803.20 | 0.900.1 | 0.900.1 | 0.900.1 |
ng-packagr | . | 9.0.0 | 9.0.0 | 9.0.0 |
rxjs | 6.4.0 | 6.3.3 | 6.5.4 | 6.5.4 |
typescript | . | 3.7.5 | 3.7.5 | 3.7.5 |
webpack | . | 4.41.2 | 4.41.2 | 4.41.2 |
Secure API Gateway User interfaces
secure-api-gateway-ob-uk-ui-cli readme
secure-api-gateway-ob-uk-ui-common readme
secure-api-gateway-ob-uk-ui-rcs readme
secure-api-gateway-ob-uk-ui-swagger readme
The npm securebanking packages are published in the private forgerock repository, you will need the proper settings per-user config to publish a npm package.
log on in https://maven.forgerock.org/ to get from your profile the
encrypted password
(base64password)
Prepare your environment
# Get the _auth access token
curl -u${username:base64password} https://maven.forgerock.org/repo/api/npm/auth
# response
_auth = ZnJvcGxxxxxxxxxxxxxQ==
always-auth = true
email = jorge.sanchez-perez@forgerock.com
~/.npmrc
file with the below content
@secureapigateway:registry=https://maven.forgerock.org/artifactory/api/npm/npm-local/
//maven.forgerock.org/artifactory/api/npm/npm-local/:_auth="ZnJvcGxxxxxxxxxxxxxQ=="
We use the scope @secureapigateway and the basic auth to publish the tarball in forgerock npm repository
We need publish only those packages that we need use like as dependencies in other UI projects:
secure-api-gateway-ob-uk-ui-cli
: first change the version in package.json
cd secure-api-gateway-ob-uk-ui-cli
npm ci
npm publish
check the published package: Forgerock npm
secure-api-gateway-ob-uk-ui-common
: first change the version in package.json
cd secure-api-gateway-ob-uk-ui-common
npm ci
npm build
npm publish ./dist
check the published package: Forgerock npm
Using node 14 npm
will raise an error when npm install <package>
runs
because the npm version of node 14 is more restrictive with the peer dependencies
and attempt to update the package-lock.json file, this will cause future issues.
To build the project properly:
cd ${ui-module}
rm -rf node_modules
npx npm@v6 ci
Need to install the following packages:
npm@6.14.18
Ok to proceed? (y)
npm ERR! code E401
npm ERR! Incorrect or missing password.
fix the configuration following the
prepare your environment
section
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://maven.forgerock.org/artifactory/api/npm/npm-local/@secureapigateway%2fsecure-api-gateway-ob-uk-ui-cli - forbidden
Change the version in the package.json descriptor and run:
npm install
,npm ci
andnpm publish
again
Release the shared packages is the process to delivery a new version of shared packages and this process is delegate to a github action (release.yml)