npm.io
1.0.11 • Published 5 years ago

@netsoc/iam

Licence
Unlicense
Version
1.0.11
Deps
2
Size
76 kB
Vulns
0
Weekly
0

@netsoc/iam

@NetsocIam - JavaScript client for @netsoc/iam API for managing and authenticating Netsoc users.

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.11
  • Package version: 1.0.11
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install @netsoc/iam --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your @netsoc/iam from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build
git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save
For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var @NetsocIam = require('@netsoc/iam');

var defaultClient = @NetsocIam.ApiClient.instance;
// Configure Bearer (jwt) access token for authorization: jwt_admin
var jwt_admin = defaultClient.authentications['jwt_admin'];
jwt_admin.accessToken = "YOUR ACCESS TOKEN"

var api = new @NetsocIam.UsersApi()
var user = {"username":"bro","email":"bro@tcd.ie","password":"hunter22","first_name":"Bro","last_name":"Dude"}; // {User} User to create
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.createUser(user, callback);

Documentation for API Endpoints

All URIs are relative to https://iam.netsoc.ie/v1

Class Method HTTP request Description
@NetsocIam.UsersApi createUser POST /users Create a new user
@NetsocIam.UsersApi deleteUser DELETE /users/{username} Delete a user by their username
@NetsocIam.UsersApi getUser GET /users/{username} Get a user by their username
@NetsocIam.UsersApi getUserByID GET /users/id:{uid} Get a user by their ID
@NetsocIam.UsersApi getUsers GET /users List users
@NetsocIam.UsersApi issueToken POST /users/{username}/token Issue a token
@NetsocIam.UsersApi login POST /users/{username}/login Log into a user account (obtain JWT)
@NetsocIam.UsersApi logout DELETE /users/{username}/login Log out of a user account (invalidate existing JWT's)
@NetsocIam.UsersApi resetPassword PUT /users/{username}/login Reset password
@NetsocIam.UsersApi updateUser PATCH /users/{username} Update a user by their username
@NetsocIam.UsersApi validateToken GET /users/self/token Validate a token
@NetsocIam.UsersApi verify PATCH /users/{username}/login Verify email address

Documentation for Models

Documentation for Authorization

jwt
  • Type: Bearer authentication (jwt)
jwt_admin
  • Type: Bearer authentication (jwt)
jwt_reset
  • Type: Bearer authentication (jwt)
jwt_verify
  • Type: Bearer authentication (jwt)