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 methodClientCertificateConsumerMixin
a mixin with common functions to process Client Certificatesclient-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/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/authorization/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/authorization/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/authorization-method
cd authorization-method
npm install
Running the demo locally
npm start
Running the tests
npm test