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

blockdemy-sso

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

blockdemy-sso

A client to handle blockdemy single sign on communication

  • 0.0.18
  • npm
  • Socket score

Version published
Weekly downloads
2
increased by100%
Maintainers
1
Weekly downloads
 
Created
Source

Blockdemy SSO

Official Blockdemy's Single Sign On Client


Blockdemy SSO is a client that allows to communicate and get user data from our Single Sign On Service

Documentation

Getting started

Run the following command to install Blockdemy SSO client

$ yarn add blockdemy-sso

Blockdemy SSO Client

In order to start using the sso client, it is needed to be instantiated using the following code

import BlockdemySSO from 'blockdemy-sso'

// SSO_URL is the SSO API Url. 
// It can be changed to use on development with a localhost url
const SSO_URL = 'https://api.id.blockdemy.com'
const API_KEY = '<API_KEY>'

const SingleSignOn = new BlockdemySSO(API_KEY, SSO_URL);

// Examples
const start = async () => {
  const user = await SingleSignOn.getUserById(/* Valid user id */);

  // Use user here
}

Using the Mongoose Plugin

In order to use the mongoose plugin to autopopulate users using their ssoId, you just need to add the following into your user schema:

import SingleSignOn from 'path/to/your/blockdemy-sso/instance';

const UserSchema = new Schema({
  /* ... */
  ssoId: { type: Schema.Types.ObjectId }
  /* ... */
});

UserSchema.plugin(SingleSignOn.populateUsers);

Query user data methods

Every method corresponds with the GraphQL API query endpoint with the same name They can be checked at our Blockdemy SSO Playground

MethodparamsreturnsDescription
usersById(ids)ids: Array[String]Array[Object]Recover the list of users given valid ids
user(id)id: StringObjectRecover user given a valid id
userFromToken(token)token: StringObjectRecover user given a jwt token
userByUsername(username)username: StringObjectRecover user given a valid username
userByAddress(address)address: StringObjectRetrieve the user that owns an ethereum address
usernameExists(username)username: StringBooleanIndicates if an username has been taken
userEmailExists(email)email: StringBooleanIndicates if an email has been taken and verified
userHasEthAddress(userId, address)userId: String, address: StringBooleanIndicates if an specific user owns an ethereum address
userEthAddressExists(address)address: StringBooleanIndicates if an ethereum address has been taken before
userSearch(query, filters, params)query: Object, filters: Object, params: ObjectArray[Object]Recover a list of users given valid filters and parameters for search
organization(id)id: StringObjectRecover organization given a valid id
organizationByIdentifier(identifier)identifier: StringObjectRecover organization given a valid identifier
organizationsByIds(ids)ids: Array[String]Array[Object]Recover the list of organizations given valid ids

Mutate user data methods

Every method corresponds with the GraphQL API mutation endpoint with the same name They can be checked at our Blockdemy SSO Playground
MethodparamsreturnsDescription
userEdit(userId, user)userId: String, user: ObjectObjectEdit user data and retrieves the new user
userAddEthAddress(userId, user)userId: String, address: String, signature: StringObjectAdd ethereum address validated with a signature to user
userEditPassword(userId, newPassword, oldPassword)userId: String, newPassword: String, oldPassword: StringObjectChange password tu user using its last password to validate

Contributing

Blockdemy SSO is open for contributions in order to make it easy to make our technology more open for the community.

Authors

  • Ernesto García - Tech Leader @blockdemy

License

This project is licensed under the MIT License

FAQs

Package last updated on 08 Jun 2020

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