morpho 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/app/concepts/morpho/user/contract/external_sign_in.rb +3 -3
- data/app/concepts/morpho/user/contract/sign_in.rb +1 -1
- data/app/concepts/morpho/user/contract/sign_up.rb +10 -2
- data/app/services/morpho/jwt/authentication_token.rb +8 -6
- data/app/services/morpho/jwt/decode.rb +8 -6
- data/app/services/morpho/jwt/encode.rb +8 -6
- data/app/services/morpho/jwt/payload.rb +8 -6
- data/app/services/morpho/jwt/token.rb +9 -7
- data/lib/morpho/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1e6a96107096cf61bdcd55849c2bbad3d5c27c085bac23afd061fab4fb508b86
|
|
4
|
+
data.tar.gz: 7c061fe271965fc176adde62d3856f343b9e9605ab1e0a7cb096d78d8d78409c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f6f6c509deaafd28182fd49d91fc8255aa9d52675753150d0e028e1efb698956131884f2b609c5aac80770eb74996aa47b538c2edc0ee46b52b0d415002047e3
|
|
7
|
+
data.tar.gz: 45d6a0a2a2aaf7551453373c40ef750c90a3f5f3caf7fa32c6124fdb45baaa5b38249e8c382be7511fa6f03d39c25922b4b4733dd77d8c6bb8b39d0f38b3a8aa
|
|
@@ -3,10 +3,10 @@ module Morpho
|
|
|
3
3
|
include Reform::Form::ActiveRecord
|
|
4
4
|
|
|
5
5
|
property :email
|
|
6
|
-
validates :email, presence: true, email_format: true
|
|
7
|
-
property :uid
|
|
8
|
-
validates :uid, presence: true
|
|
9
6
|
property :provider
|
|
7
|
+
property :uid
|
|
8
|
+
validates :email, presence: true, email_format: true
|
|
10
9
|
validates :provider, presence: true
|
|
10
|
+
validates :uid, presence: true
|
|
11
11
|
end
|
|
12
12
|
end
|
|
@@ -5,10 +5,18 @@ module Morpho
|
|
|
5
5
|
include Reform::Form::ActiveRecord
|
|
6
6
|
|
|
7
7
|
property :email
|
|
8
|
-
validates :email, presence: true, unique: true, email_format: true
|
|
9
8
|
property :password
|
|
10
|
-
validates :password, presence: true, confirmation: true
|
|
11
9
|
property :password_confirmation, virtual: true
|
|
10
|
+
validates :email, presence: true, unique: true, email_format: true
|
|
11
|
+
validates :password,
|
|
12
|
+
presence: true,
|
|
13
|
+
confirmation: true,
|
|
14
|
+
length: { minimum: Morpho.config.auth.password_minimum_length },
|
|
15
|
+
# rubocop:disable Style/HashSyntax
|
|
16
|
+
:'morpho/validators/contain_number' => true,
|
|
17
|
+
:'morpho/validators/contain_uppercase' => true,
|
|
18
|
+
:'morpho/validators/contain_symbol' => true
|
|
19
|
+
# rubocop:enable Style/HashSyntax
|
|
12
20
|
validates :password_confirmation, presence: true
|
|
13
21
|
end
|
|
14
22
|
end
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
module Morpho
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
request.headers[Morpho.config.jwt.header].
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
module JWT
|
|
3
|
+
class AuthenticationToken
|
|
4
|
+
def self.new(request)
|
|
5
|
+
if request.headers[Morpho.config.jwt.header].present?
|
|
6
|
+
request.headers[Morpho.config.jwt.header].split(' ').last
|
|
7
|
+
else
|
|
8
|
+
nil
|
|
9
|
+
end
|
|
8
10
|
end
|
|
9
11
|
end
|
|
10
12
|
end
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
module Morpho
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
module JWT
|
|
3
|
+
class Decode
|
|
4
|
+
def self.new(token)
|
|
5
|
+
begin
|
|
6
|
+
Morpho::Cipher.jwt_decode(token)
|
|
7
|
+
rescue
|
|
8
|
+
nil
|
|
9
|
+
end
|
|
8
10
|
end
|
|
9
11
|
end
|
|
10
12
|
end
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
module Morpho
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
module JWT
|
|
3
|
+
class Encode
|
|
4
|
+
def self.new(payload)
|
|
5
|
+
begin
|
|
6
|
+
Morpho::Cipher.jwt_encode(payload)
|
|
7
|
+
rescue
|
|
8
|
+
nil
|
|
9
|
+
end
|
|
8
10
|
end
|
|
9
11
|
end
|
|
10
12
|
end
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
module Morpho
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
module JWT
|
|
3
|
+
class Payload
|
|
4
|
+
def self.new(user)
|
|
5
|
+
expires_at = Time.now.to_i + Morpho.config.jwt.expiration_time
|
|
6
|
+
issued_at = Time.now.to_i
|
|
7
|
+
token = ::Morpho::JWT::Encode.new({ exp: expires_at, iat: issued_at, email: user.email })
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
{ authentication_token: token, expires_at: expires_at, refresh_token: user.refresh_token }
|
|
10
|
+
end
|
|
9
11
|
end
|
|
10
12
|
end
|
|
11
13
|
end
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
module Morpho
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
module JWT
|
|
3
|
+
class Token
|
|
4
|
+
def self.new(authentication_token)
|
|
5
|
+
begin
|
|
6
|
+
token = ::Morpho::JWT::Decode.new(authentication_token)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
HashWithIndifferentAccess.new(token.first)
|
|
9
|
+
rescue
|
|
10
|
+
HashWithIndifferentAccess.new
|
|
11
|
+
end
|
|
10
12
|
end
|
|
11
13
|
end
|
|
12
14
|
end
|
data/lib/morpho/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: morpho
|
|
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
|
- Hugo Gilmar Erazo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-11-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|