0.0.21 • Published 4 years ago
blockdemy-sso v0.0.21
$ yarn add blockdemy-sso
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
}
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);
Every method corresponds with the GraphQL API query endpoint with the same name They can be checked at our Blockdemy SSO Playground
Method | params | returns | Description |
---|---|---|---|
usersById(ids) | ids: ArrayString | ArrayObject | Recover the list of users given valid ids |
user(id) | id: String | Object | Recover user given a valid id |
userFromToken(token) | token: String | Object | Recover user given a jwt token |
userByUsername(username) | username: String | Object | Recover user given a valid username |
userByAddress(address) | address: String | Object | Retrieve the user that owns an ethereum address |
usernameExists(username) | username: String | Boolean | Indicates if an username has been taken |
userEmailExists(email) | email: String | Boolean | Indicates if an email has been taken and verified |
userHasEthAddress(userId, address) | userId: String, address: String | Boolean | Indicates if an specific user owns an ethereum address |
userEthAddressExists(address) | address: String | Boolean | Indicates if an ethereum address has been taken before |
userSearch(query, filters, params) | query: Object, filters: Object, params: Object | ArrayObject | Recover a list of users given valid filters and parameters for search |
organization(id) | id: String | Object | Recover organization given a valid id |
organizationByIdentifier(identifier) | identifier: String | Object | Recover organization given a valid identifier |
organizationsByIds(ids) | ids: ArrayString | ArrayObject | Recover the list of organizations given valid ids |
Method | params | returns | Description |
---|---|---|---|
userEdit(userId, user) | userId: String, user: Object | Object | Edit user data and retrieves the new user |
userAddEthAddress(userId, user) | userId: String, address: String, signature: String | Object | Add ethereum address validated with a signature to user |
userEditPassword(userId, newPassword, oldPassword) | userId: String, newPassword: String, oldPassword: String | Object | Change password tu user using its last password to validate |
This project is licensed under the MIT License
0.0.21
4 years ago
0.0.20
4 years ago
0.0.19
4 years ago
0.0.17
4 years ago
0.0.18
4 years ago
0.0.16
4 years ago
0.0.15
4 years ago
0.0.14
4 years ago
0.0.13
4 years ago
0.0.12
4 years ago
0.0.11
4 years ago
0.0.10
4 years ago
0.0.9
4 years ago
0.0.8
4 years ago
0.0.7
4 years ago
0.0.6
4 years ago
0.0.5
4 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1
4 years ago