loopback-component-satellizer

A loopback module for satellizer

Usage no npm install needed!

<script type="module">
  import loopbackComponentSatellizer from 'https://cdn.skypack.dev/loopback-component-satellizer';
</script>

README

loopback-satellizer

Join the chat at https://gitter.im/moooink/loopback-component-satellizer

Build Status

Stories in Ready

How to use it

Example explorer

 Install the component

npm install --save loopback-component-satellizer

Configuration for facebook

In your loopback component-config.json file, add your configuration like this

"loopback-component-satellizer": {
  "facebook": {
    "model": "Account",
    "credentials": {
      "public": "this_is_a_client_id",
      "private": "this_is_a_private_key"
    },
    "version": "v2.3",
    "fields": ["email"],
    "uri": "/facebook",
    "mapping": {
      "id": "facebook",
      "email": "email",
      "first_name": "firstName",
      "last_name": "lastName",
      "gender": "gender"
    }
  }
}

Add the ACLs to allow (or not) the access to the API

"acls": [
  {
    "accessType": "EXECUTE",
    "principalType": "ROLE",
    "principalId": "$everyone",
    "permission": "ALLOW",
    "property": "facebook"
  },

Then configure satellizer in the client and take care of the conflicts between the satellizer authorization token and the loopback authorization token.

Configuration for Google+

In your loopback component-config.json file, load the component

"loopback-component-satellizer": {
  "google": {
    "model": "Account",
    "credentials": {
      "public": "this_is_a_client_id",
      "private": "this_is_a_private_key"
    },
    "uri": "/google",
    "mapping": {
      "sub": "google",
      "email": "email",
      "given_name": "firstName",
      "family_name": "lastName",
      "gender": "gender"
    }
  }
}

Add the ACLs to allow (or not) the access to the API

"acls": [
  {
    "accessType": "EXECUTE",
    "principalType": "ROLE",
    "principalId": "$everyone",
    "permission": "ALLOW",
    "property": "google"
  },

Then configure satellizer in the client and take care of the conflicts between the satellizer authorization token and the loopback authorization token.