https://github.com/opentok/token-encoder
Generates tokens for `X-TB-TOKEN-AUTH` header when using OpenTok REST API.
https://github.com/opentok/token-encoder
javascript opentok
Last synced: 18 days ago
JSON representation
Generates tokens for `X-TB-TOKEN-AUTH` header when using OpenTok REST API.
- Host: GitHub
- URL: https://github.com/opentok/token-encoder
- Owner: opentok
- License: mit
- Created: 2015-02-18T01:17:05.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2023-10-21T01:38:14.000Z (over 1 year ago)
- Last Synced: 2025-04-20T20:08:01.364Z (29 days ago)
- Topics: javascript, opentok
- Language: JavaScript
- Size: 127 KB
- Stars: 2
- Watchers: 68
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# OpenTok Token Encoder
[](https://travis-ci.org/opentok/token-encoder)
Generates tokens for `X-TB-TOKEN-AUTH` header when using [OpenTok REST API](https://tokbox.com/opentok/api/).
## Installation
```
npm install --save opentok-token
```## Usage
**WARNING:** This module does not check for the validity of the data being encoded into the token.
It doesn't know about the OpenTok REST API semantics, and you can encode data that doesn't result in
a valid token. Its merely a utility. Use the [OpenTok Node Server
SDK](https://github.com/opentok/opentok-node) for a more complete module.### Generating a token
```javascript
var encodeToken = require("opentok-token");var tokenData = {
session_id: "SESSIONID",
create_time: 1424221013,
nonce: 50885,
role: "moderator",
expire_time: 1424307413,
connection_data: '{"name":"value"}',
};
var apiKey = "APIKEY";
var apiSecret = "APISECRET";var token = encodeToken(tokenData, apiKey, apiSecret);
```**NOTE:** The API key, secret, and session ID above are not real.
### Default values
If you do not specify certain properties of the `tokenData` parameter, defaults will be applied for
you.| Property | Type | Default |
| ------------- | ----------------------------------- | -------------------- |
| `create_time` | unix timestamp in seconds (integer) | now |
| `expire_time` | unix timestamp in seconds (integer) | now + 1 day |
| `role` | string | 'publisher' |
| `nonce` | number | unique random number |## Development and Contributing
Interested in contributing? We :heart: pull requests! See the
[Contribution](CONTRIBUTING.md) guidelines.## Getting Help
We love to hear from you so if you have questions, comments or find a bug in the project, let us know! You can either:
- Open an issue on this repository
- See for support options
- Tweet at us! We're [@VonageDev](https://twitter.com/VonageDev) on Twitter
- Or [join the Vonage Developer Community Slack](https://developer.nexmo.com/community/slack)