Skip to content
This repository has been archived by the owner on Mar 1, 2023. It is now read-only.
/ nexmo-jwt-ruby Public archive

Ruby library to assist with generating JWT tokens for use with the Nexmo API.

License

Notifications You must be signed in to change notification settings

Nexmo/nexmo-jwt-ruby

Repository files navigation

Nexmo JWT Generator for Ruby

Gem VersionCoverage StatusContributor Covenant

Nexmo is now known as Vonage

❗ This library and Ruby gem have moved! It is now vonage-jwt, located at vonage/vonage-jwt-ruby.

This is the Ruby library to generate Nexmo JSON Web Tokens (JWTs). To use it you'll need a Nexmo account. Sign up for free at nexmo.com.

Requirements

The JWT generator supports Ruby version 2.5 or newer.

Installation

To install the Ruby client library using Rubygems:

gem install nexmo-jwt

Alternatively you can clone the repository:

git clone git@github.com:Nexmo/nexmo-jwt-ruby.git

Usage

By default the Nexmo JWT generator creates a short lived JWT (15 minutes) per request. To generate a long lived JWT for multiple requests, specify a longer value in the exp parameter during initialization.

Example with no custom configuration:

@builder = Nexmo::JWTBuilder.new(application_id: YOUR_APPLICATION_ID, private_key: YOUR_PRIVATE_KEY)
@token = @builder.jwt.generate

Example providing custom configuration options:

@builder = Nexmo::JWTBuilder.new(
  application_id: YOUR_APPLICATION_ID,
  private_key: YOUR_PRIVATE_KEY,
  ttl: 500,
  paths: {
    "acl": {
      "paths": {
        "/messages": {
          "methods": ["POST", "GET"],
          "filters": {
            "from": "447977271009"  
          }     
        }  
      }   
    }
  },
  subject: 'My_Custom_Subject'
)
@token = @builder.jwt.generate

Documentation

Nexmo Ruby JWT documentation: https://www.rubydoc.info/github/nexmo/nexmo-jwt

Nexmo Ruby code examples: https://github.com/Vonage/vonage-ruby-code-snippets

Nexmo API reference: https://developer.nexmo.com/api

License

This library is released under the MIT License