Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@advanced-rest-client/anypoint

Package Overview
Dependencies
Maintainers
4
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@advanced-rest-client/anypoint

A package for ARC with libraries to work with Anypoint Platform

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

Anypoint for ARC

An element that renders an UI to search Anypoint Exchange for available assets.

Usage

Installation

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

In an html file

<html>
  <head>
    <script type="module">
      import '@advanced-rest-client/anypoint/define/exchange-search.js';
    </script>
  </head>
  <body>
    <exchange-search></exchange-search>
  </body>
</html>

In a LitElement template

import { LitElement, html } from 'lit-element';
import '@advanced-rest-client/anypoint/define/exchange-search.js';

class SampleElement extends LitElement {
  render() {
    return html`
    <exchange-search
      .columns="${columns}"
      @selected="${this._assetHandler}"
    ></exchange-search>
    `;
  }

  _assetHandler(e) {
    console.log(e.detail);
  }
}
customElements.define('sample-element', SampleElement);

Authorization

The element uses @anypoint-web-components/anypoint-signin to sing a user in. Set anypointAuth, exchangeRedirectUri, and exchangeClientId attributes to enable the authorization button.

<exchange-search
  anypointAuth
  exchangeRedirectUri="${redirectUrl}"
  exchangeClientId="${clientId}"
  @anypointcodeexchange="${this._processCodeExchange}"
></exchange-search>

Note, that currently the Anypoint authorization server only support "code" oauth flow. This means you have to handle code response and exchange the code for access token. To do so, handle the anypointcodeexchange event dispatched by the anypoint-signin element.


/**
 * @param {AnypointCodeExchangeEvent} e
 */
_handleTokenExchange(e) {
  const { code } = e;
  e.detail.result = this.exchangeCode(code);
}

/**
 * @param {string} code
 * @returns {Promise<TokenInfo>}
 */
async exchangeCode(code) {
  const init = {
    method: 'POST',
    body: code,
  };
  const response = await fetch('YOUR SERVER URL', init);
  const info = await response.json();
  return {
    accessToken: info.accessToken,
    expiresAt: Date.now() + info.expiresIn,
    expiresIn: info.expiresIn,
    expiresAssumed: false,
    state: '0', // this is required by the types definition but can be anything. State is checked before this function is called
  };
  }));
}

Development

git clone https://github.com/advanced-rest-client/anypoint
cd anypoint
npm install

Running the demo locally

npm start

Running the tests

npm test

Keywords

FAQs

Package last updated on 02 Nov 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc