@advanced-rest-client/client-certificates

A library containing the logic and the UIs to support client certificates in the Advanced REST Client application.

Usage no npm install needed!

<script type="module">
  import advancedRestClientClientCertificates from 'https://cdn.skypack.dev/@advanced-rest-client/client-certificates';
</script>

README

Client certificates for ARC

A library containing the logic and the UIs to support client certificates in the Advanced REST Client application.

It contains the following modules:

  • cc-authorization-method - a component to render client certificate authorization method
  • ClientCertificateConsumerMixin a mixin with common functions to process Client Certificates
  • client-certificates-panel - the application screen that handles CC UIs and user logic

Usage

Installation

npm install --save @advanced-rest-client/client-certificates

cc-authorization-method

A web component that extends the @advanced-rest-client/authorization-method element to allow to select a client certificate as an authorization method.

Default storage interface is provided with @advanced-rest-client/arc-models/client-certificate-model.js see implementation.

In an html file

<html>
  <head>
    <script type="module">
      import '@advanced-rest-client/cc-authorization-method/cc-authorization-method.js';
      import '@advanced-rest-client/arc-models/client-certificate-model.js';
    </script>
  </head>
  <body>
    <client-certificate-model></client-certificate-model>
    <authorization-selector>
      <cc-authorization-method type="client certificate"></cc-authorization-method>
    </authorization-selector>
  </body>
</html>

In a LitElement

import { LitElement, html } from 'lit-element';
import '@advanced-rest-client/cc-authorization-method/cc-authorization-method.js';

class SampleElement extends LitElement {
  render() {
    const { amfModel, security } = this;
    return html`
    <cc-authorization-method
      type="client certificate"
      @change="${this._securityChangeHandler}"></cc-authorization-method>
    `;
  }

  _securityChangeHandler(e) {
    console.log('current authorization settings', e.target.serialize());
  }
}
customElements.define('sample-element', SampleElement);

client-certificates-panel

The client certificates manager screen. Renders the list of installed certificates, allows to export certificates to ARC export file, and to import a new certificate to the application.

It requires client-certificate-model element to be present in the DOM.

certificate-import

An element that contains the entire logic and UIs to import a certificate to the application.

It requires client-certificate-model element to be present in the DOM.

Development

git clone https://github.com/advanced-rest-client/cc-authorization-method
cd cc-authorization-method
npm install

Running the demo locally

npm start

Running the tests

npm test

API components

This components is a part of API components ecosystem