# @netsoc/iam

> API_for_managing_and_authenticating_Netsoc_users_

Latest version **1.0.11** (published 2021-03-16) · Unlicense license · 0 weekly downloads

## Install

```sh
npm install @netsoc/iam
pnpm add @netsoc/iam
yarn add @netsoc/iam
bun add @netsoc/iam
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.11 |
| Published | 2021-03-16 |
| First published | 2020-09-18 |
| Weekly downloads | 0 |
| License | Unlicense |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 75.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | jackos2500 |

## Links

- npm: https://www.npmjs.com/package/@netsoc/iam
- npm.io page: https://npm.io/package/@netsoc/iam

## Dependencies (2)

- [@babel/cli](https://npm.io/package/@babel/cli.md) ^7.0.0
- [superagent](https://npm.io/package/superagent.md) 3.7.0

## Recent versions

- 1.0.11 (latest) — 2021-03-16
- 1.0.10 — 2020-10-25
- 1.0.9 — 2020-10-05
- 1.0.8 — 2020-10-03
- 1.0.7 — 2020-09-27
- 1.0.6 — 2020-09-26
- 1.0.5 — 2020-09-25
- 1.0.4 — 2020-09-25
- 1.0.3 — 2020-09-25
- 1.0.2 — 2020-09-25
- 1.0.1 — 2020-09-23
- 1.0.0-71a1ba91 — 2020-09-21
- 1.0.0-01bacda6 — 2020-09-18
- 1.0.0-acd695f1 — 2020-09-18
- 1.0.0-bf4f1918 — 2020-09-18
- … 2 more at https://npm.io/package/@netsoc/iam/versions

## README

# @netsoc/iam

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

This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

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

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install @netsoc/iam --save
```

Finally, you need to build the module:

```shell
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:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
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:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

Finally, you need to build the module:

```shell
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:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). 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):

```shell
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:

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

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
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**](docs/UsersApi.md#createUser) | **POST** /users | Create a new user
*@NetsocIam.UsersApi* | [**deleteUser**](docs/UsersApi.md#deleteUser) | **DELETE** /users/{username} | Delete a user by their username
*@NetsocIam.UsersApi* | [**getUser**](docs/UsersApi.md#getUser) | **GET** /users/{username} | Get a user by their username
*@NetsocIam.UsersApi* | [**getUserByID**](docs/UsersApi.md#getUserByID) | **GET** /users/id:{uid} | Get a user by their ID
*@NetsocIam.UsersApi* | [**getUsers**](docs/UsersApi.md#getUsers) | **GET** /users | List users
*@NetsocIam.UsersApi* | [**issueToken**](docs/UsersApi.md#issueToken) | **POST** /users/{username}/token | Issue a token
*@NetsocIam.UsersApi* | [**login**](docs/UsersApi.md#login) | **POST** /users/{username}/login | Log into a user account (obtain JWT)
*@NetsocIam.UsersApi* | [**logout**](docs/UsersApi.md#logout) | **DELETE** /users/{username}/login | Log out of a user account (invalidate existing JWT&#39;s) 
*@NetsocIam.UsersApi* | [**resetPassword**](docs/UsersApi.md#resetPassword) | **PUT** /users/{username}/login | Reset password
*@NetsocIam.UsersApi* | [**updateUser**](docs/UsersApi.md#updateUser) | **PATCH** /users/{username} | Update a user by their username
*@NetsocIam.UsersApi* | [**validateToken**](docs/UsersApi.md#validateToken) | **GET** /users/self/token | Validate a token
*@NetsocIam.UsersApi* | [**verify**](docs/UsersApi.md#verify) | **PATCH** /users/{username}/login | Verify email address


## Documentation for Models

 - [@NetsocIam.Error](docs/Error.md)
 - [@NetsocIam.IssueTokenRequest](docs/IssueTokenRequest.md)
 - [@NetsocIam.LoginRequest](docs/LoginRequest.md)
 - [@NetsocIam.ResetPasswordRequest](docs/ResetPasswordRequest.md)
 - [@NetsocIam.TokenResponse](docs/TokenResponse.md)
 - [@NetsocIam.User](docs/User.md)
 - [@NetsocIam.UserMeta](docs/UserMeta.md)


## 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)

---
_Source: https://npm.io/package/@netsoc/iam · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
