dpd-jwt

1.0.2 • Public • Published

DPD-JWT

Simple module to create JWT tokens with Deployd

Usage

Setup

In your dpd directory type,

npm install dpd-jwt

Add a Jwt Web Token resource in the dashboard, and set the configs.

GET/POST

To get a JWT token you will need to use a POST, either internally, or externally using either REST or dpd

To get a Token on the client, use and then set a header x-token:

dpd.jwtwebtoken.get(function(error, result)) {
    // work with token that is returned
}

If you wish to use HTTP you can send a GET request to /jwtwebtoken and make sure that any user auth info is set in the headers/cookies, if you are using the User Collection that would be the sid cookie.

In the ON GET tab/event you need to validate the user and set the values object:

var val = {};
if (me) {
    // Logged in user
    val = {
        sid: 0293420kdfjsd09fs0d9fsd, // from the cookie that is set by the user collection when a user logs in
        somevalue: “anything here”,
        uid: me.id
    } 
} else {
    // Anonymous user
    val = {object that describes an anonymous user};
    // OR
    cancel(“Anonymous access denied”, 401);
}

// Set the values
setValues(val);

To get the validated and decoded result use (either on the client, or even in an event on the server):

dpd.jwtwebtoken.validate(function(error, result) {
    // work with error or result
}

To validate over HTTP make sure that the x-token header is set and make a GET request to /validate. Will return null/error or the decoded token object.

Headers

dpd-jwt uses headers to pass the JWT token around, you will need to set the header of x-token once you recieve a token using the post command.

On Post

In the ON POST event for the JwtWebToken Resource you are free to use setValues(values) to set the values/tokens you want to use in the JWTWebToken, values being an Object. You can use what ever validation you wish.

TODO

  • Add more options to config to allow for RSA key files, etc
  • Be able to send the Token with validate function with out using headers

Readme

Keywords

Package Sidebar

Install

npm i dpd-jwt

Weekly Downloads

2

Version

1.0.2

License

MIT

Last publish

Collaborators

  • tenowg