Sha256: 30024e0b65e6e0de24dc1e44f59a48624c95fa8ac8599276e4b67af26358151b

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

# Matic::Jwt

Matic's implementation of JWT authentication.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'matic-jwt'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install matic-jwt

## Usage

### Plain Ruby

Use `MaticJWT::Generator` to create JWT tokens or headers:
```ruby
generator = MaticJWT::Generator.new
token = generator.token_for('my_client', 'my_super_secret', additional_payload: 'test')
header = generator.authentication_header_for('my_client', 'my_super_secret', user_id: 'test@localhost.com')
```  

### With Grape

Use ```:jwt_auth``` strategy and provide secret.
```ruby
   auth :jwt_auth, {
      secret: -> (client_name) { ::ApiClient.find_by!(name: client_name).secret }
   }
```
If you need to get any data from authentication payload use ::MaticJWT::Grape::Helper.
```ruby
    module ApiHelper
       include ::MaticJWT::Grape::Helper
        
        def current_client
          @current_client ||= ::ApiClient.find_by!(name: client_name)
        end
    
        private
    
        def client_name
          auth_payload['client_name']
        end
    end 
```

## Development

After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/matic-jwt.

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
matic-jwt-1.2.1 README.md
matic-jwt-1.2.0 README.md