token_secret_auth 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4eb919fd271312c8f4bc8eb9ad88f9df541e067f
4
- data.tar.gz: b6baf874507a1c6f3660606a59514a5112839ab8
3
+ metadata.gz: a4a7992e33456c0ba7987304bfc6f6c10bf4c4af
4
+ data.tar.gz: 3d59ed947dab5ccf6a28c6b443074ab292b06201
5
5
  SHA512:
6
- metadata.gz: f841553378bbf8e844dc24f0c047b5142c42f3a959b7c10f3d89569ca64c7e67db5e488a1de2b39ab2632cfbbab0a6a328ba678eec385851da9ea7912d4aa6e2
7
- data.tar.gz: d97252337e1a6211273013af52c55856f3c79aff3b99698bf7fd5f5bc07cfdcf1671d09fe8d63c70534f626330ccd1b6026728662a33486d91e8289632bcce23
6
+ metadata.gz: 2c64ca8c0699bcacb8c559db10e301af58fcbbd9978da0b755b86850a74162cbc9335a896bf26c11a51b97763e3e951b1d9133b4fb61a849b02489b2b3ba9a92
7
+ data.tar.gz: 8f51df3f7c2dba055cfae7fadab7d87c4af07bfdd882d8cd764206657379dc756aafc681a2795d6af159cc527e9e93cd9ae07f8b21ab0b7b8285f68122b410e5
data/README.md CHANGED
@@ -46,16 +46,14 @@ In your model file add:
46
46
 
47
47
  include TokenSecretAuth
48
48
 
49
- This grants your model instances the following methods:
50
-
51
- #token, #decode_token, #generate_secret
49
+ > This grants your model instances the following methods: `#token, #decode_token, #generate_secret`
52
50
 
53
51
  Also add to the model:
54
52
 
55
53
  has_secure_password
56
54
 
57
55
  Create and run a migration to add the `password_digest` field to your model.
58
- For example on rails:
56
+ For example on rails:
59
57
 
60
58
  $ rails generate migration AddPasswordDigestToApiClients password_digest:string
61
59
 
@@ -63,7 +61,7 @@ Note: you do not need a 'token' field on your model. `#token` is a virtual attr
63
61
 
64
62
  ## Usage
65
63
 
66
- #### Generating a token
64
+ #### Getting the token
67
65
 
68
66
  Tokens are generated from the model ID.
69
67
 
@@ -77,21 +75,19 @@ Secrets are randomly generated by `Model.generate_secret` or `#generate_secret`.
77
75
  Store the secret using `#password=` or similar encrypted functionality.
78
76
 
79
77
  ```ruby
80
- client = ApiClient.find_by_token('afuoisjdjl')
78
+ client = ApiClient.find_by_token('afuoisjdjl') # or ApiClient.new
81
79
  client.password = client.generate_secret
82
80
  client.save # bcrypt/has_secure_password will handle encryption
83
81
  ```
84
82
 
85
- On Rails you may want to simply generate the password using active record callbacks:
83
+ On Rails you may want to use callbacks to generate the password automatically:
86
84
 
87
85
  ```ruby
88
- before_validation :set_secret, on: [ :new, :create ]
89
-
90
- def set_secret
91
- self.password = generate_secret
92
- end
86
+ before_validation :generate_secret, on: [ :new, :create ]
93
87
  ```
94
88
 
89
+ > Calling `generate_secret` on an instance will automatically set password to the new secret.
90
+
95
91
 
96
92
  #### Passing token+secret to client
97
93
 
@@ -133,13 +129,13 @@ end
133
129
  end
134
130
  end
135
131
  ```
136
-
132
+ <!--
137
133
  Headers are an even better way to pass authentication tokens. **TODO:**
138
134
 
139
135
  ```ruby
140
136
 
141
137
  ```
142
-
138
+ -->
143
139
 
144
140
  #### salt
145
141
 
@@ -41,9 +41,9 @@ module TokenSecretAuth
41
41
  decoded = TokenSecretAuth.hash_id.decode(token).first
42
42
  end
43
43
 
44
- # .find_with_token
44
+ # .find_by_token
45
45
  # Use on model files to find a particular instance based on the token (hashed ID)
46
- def find_with_token(token)
46
+ def find_by_token(token)
47
47
  begin
48
48
  find(decode_token(token))
49
49
  rescue Hashids::InputError
@@ -55,7 +55,7 @@ module TokenSecretAuth
55
55
  # .authenticate_by_credentials
56
56
  # finds correct instance by its token and then authenticates the password for that instance
57
57
  def authenticate_by_credentials(token, secret=nil)
58
- account = find_with_token(token)
58
+ account = find_by_token(token)
59
59
  # note BCrypt's authenticate will return false or the object when matched
60
60
  if account
61
61
  account.authenticate(secret)
@@ -1,3 +1,3 @@
1
1
  module TokenSecretAuth
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["tgaff@alumni.nd.edu"]
11
11
 
12
12
  spec.summary = %q{Simple token+secret authentication gem.}
13
- spec.description = %q{Simple token + secret authentication gem with encrypted secrets.}
13
+ spec.description = %q{Simple token+secret authentication gem for use with has_secure_password for one-way encrypted secrets.}
14
14
  spec.homepage = "https://github.com/tgaff/token_secret_auth"
15
15
  spec.license = "MIT"
16
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: token_secret_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tgaff
@@ -80,7 +80,8 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.11'
83
- description: Simple token + secret authentication gem with encrypted secrets.
83
+ description: Simple token+secret authentication gem for use with has_secure_password
84
+ for one-way encrypted secrets.
84
85
  email:
85
86
  - tgaff@alumni.nd.edu
86
87
  executables: []