api_pack 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +14 -3
- data/lib/api_pack.rb +8 -1
- data/lib/api_pack/errors/auth.rb +1 -0
- data/lib/api_pack/json_web_token.rb +6 -2
- data/lib/api_pack/version.rb +1 -1
- metadata +2 -3
- data/lib/api_pack/constants.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3e5a209e75518cbb866df889a9c586fee08e49ab6692182b7634a2beb153d11
|
4
|
+
data.tar.gz: df9688d637efbdc1f4e6f2730c88308c68c27a4ee8027cc988463ced75d3e795
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33bd54ceff27599a5a6ba1c52509bfba9b64d429f22883556df6e9faf097f99b58ce024b8d0fe625552ccbca112cf5d417a0125cd024252920227ff2f7d276b3
|
7
|
+
data.tar.gz: 9812e4e582a845e83b11faf83870d3cea76883569f00cc6d059e3de5e9560b21eb70af345a92db1c757455a846fb2259b66d49a9e0b7f050aa6304aed5d06d5c
|
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
[](https://badge.fury.io/rb/api_pack)
|
2
|
+
[](https://www.travis-ci.com/Jllima/api_pack)
|
2
3
|
[](https://coveralls.io/github/Jllima/api_pack?branch=master)
|
3
4
|
|
4
5
|
# ApiPack
|
@@ -23,7 +24,7 @@ ruby >= 2.4
|
|
23
24
|
Add this line to your application's Gemfile:
|
24
25
|
|
25
26
|
```ruby
|
26
|
-
gem 'api_pack'
|
27
|
+
gem 'api_pack', '~> 1.1.2'
|
27
28
|
```
|
28
29
|
|
29
30
|
And then execute:
|
@@ -37,7 +38,12 @@ Or install it yourself as:
|
|
37
38
|
## Usage
|
38
39
|
|
39
40
|
### JsonWebToken methods
|
40
|
-
|
41
|
+
- First create file api_pack.rb in initializers in put this code
|
42
|
+
```ruby
|
43
|
+
Rails.application.config.to_prepare do
|
44
|
+
ApiPack.hmac_secret = 'your_secret_key'
|
45
|
+
end
|
46
|
+
```
|
41
47
|
- ApiPack::JsonWebToken.encode({ user_id: user.id }) \
|
42
48
|
returns a valid token with an expiration time of one day
|
43
49
|
- To change o expiration create an initializer api_pack and put this code
|
@@ -195,6 +201,11 @@ def index
|
|
195
201
|
end
|
196
202
|
```
|
197
203
|
|
204
|
+
## This example project uses gem api_apck
|
205
|
+
|
206
|
+
https://github.com/Jllima/api_pack_rails
|
207
|
+
|
208
|
+
|
198
209
|
## Contributing
|
199
210
|
|
200
211
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/api_pack.
|
data/lib/api_pack.rb
CHANGED
@@ -10,7 +10,6 @@ require 'api_pack/errors/handle_error'
|
|
10
10
|
require 'api_pack/errors/api_errors_serializer'
|
11
11
|
require 'api_pack/errors/validation_error_serializer'
|
12
12
|
require 'api_pack/errors/validation_errors_serializer'
|
13
|
-
require 'api_pack/constants'
|
14
13
|
require 'api_pack/support/helper'
|
15
14
|
require 'api_pack/serializer/parser'
|
16
15
|
|
@@ -38,6 +37,14 @@ module ApiPack
|
|
38
37
|
@exp ||= DEFAULT_EXP
|
39
38
|
end
|
40
39
|
|
40
|
+
def hmac_secret=(value)
|
41
|
+
@hmac_secret = value
|
42
|
+
end
|
43
|
+
|
44
|
+
def hmac_secret
|
45
|
+
@hmac_secret
|
46
|
+
end
|
47
|
+
|
41
48
|
def serializer_adapter=(adapter)
|
42
49
|
ApiPack::Serializer::Parser.adapter = adapter
|
43
50
|
end
|
data/lib/api_pack/errors/auth.rb
CHANGED
@@ -1,13 +1,17 @@
|
|
1
1
|
module ApiPack
|
2
2
|
class JsonWebToken
|
3
3
|
def self.encode(payload, exp: ApiPack.exp)
|
4
|
+
raise ApiPack::Errors::Auth::MissingHmacSecret if ApiPack.hmac_secret.nil?
|
5
|
+
|
4
6
|
payload[:exp] = exp.to_i
|
5
7
|
|
6
|
-
JWT.encode(payload, ApiPack
|
8
|
+
JWT.encode(payload, ApiPack.hmac_secret)
|
9
|
+
rescue ApiPack::Errors::Auth::MissingHmacSecret
|
10
|
+
raise ApiPack::Errors::Auth::MissingHmacSecret, 'ApiPach.hmac_secret is missing'
|
7
11
|
end
|
8
12
|
|
9
13
|
def self.decode(token)
|
10
|
-
JWT.decode(token, ApiPack
|
14
|
+
JWT.decode(token, ApiPack.hmac_secret).first
|
11
15
|
rescue JWT::DecodeError => e
|
12
16
|
raise ApiPack::Errors::Auth::InvalidToken, e.message
|
13
17
|
end
|
data/lib/api_pack/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_pack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jorge
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -61,7 +61,6 @@ files:
|
|
61
61
|
- bin/setup
|
62
62
|
- lib/api_pack.rb
|
63
63
|
- lib/api_pack/api_helper.rb
|
64
|
-
- lib/api_pack/constants.rb
|
65
64
|
- lib/api_pack/errors/api_errors_serializer.rb
|
66
65
|
- lib/api_pack/errors/auth.rb
|
67
66
|
- lib/api_pack/errors/error_map.rb
|
data/lib/api_pack/constants.rb
DELETED