credible 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: d4c5ed3ddcad0d273dd3637387e2dbc0707cdb0d6f798220ff7dbe5837771e47
4
- data.tar.gz: a130e2ef99889ed2811fdea510f939771e8472f31beb5aafb5908db517ce73a3
3
+ metadata.gz: 05b3dba3b165af862258747b7e148aee774dee9cc216dc74e1b4078508babe09
4
+ data.tar.gz: c2ff97929becec3437a9158715d8e4b6e81d4dbed5f15777c4f6a3e7719b3b5b
5
5
  SHA512:
6
- metadata.gz: aee55582756b905e423934dacc61fbe8871debd89b0605ac0acfdd0a71929326a4dbdd9afc3fd939cdd59a05c997fd6897f8b1be1ca529f5628b60762f06e7a5
7
- data.tar.gz: dd2897f009bec2bb23dc41308ca0808f62138064d1f1b8ec866801ee303c93a3d2e66dc6607dc8ade859f0714be380a2a7ca23f3aa4dd4ab8372a7332736c940
6
+ metadata.gz: 7e95298a28975a795780892884d7948c425507d0ba66decea3ed61b9f3ecc4497ca61cbc7db218f7c75739a7cb9aa4ee4724207c8d5929be5d77c21dc825873d
7
+ data.tar.gz: 2cca460759ddb220a910cbb67fc3f29c5b5e0a097f44f890b2f76e49e9aa85178d20f132035f12b5c483af69f3bb4d7170155ca57cc8d0d8c13f9ee17c3bc578
data/README.md CHANGED
@@ -3,6 +3,9 @@
3
3
  [![Become a Patron](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/thombruce)
4
4
 
5
5
  [![Gem](https://img.shields.io/gem/v/credible?logo=rubygems)](https://rubygems.org/gems/credible)
6
+ [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/thombruce/credible/CI?logo=github)](https://github.com/thombruce/credible/actions)
7
+ [![Codecov](https://img.shields.io/codecov/c/github/thombruce/credible?logo=codecov)](https://codecov.io/gh/thombruce/credible)
8
+ [![GitHub issues](https://img.shields.io/github/issues-raw/thombruce/credible?logo=github)](https://github.com/thombruce/credible/issues)
6
9
 
7
10
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](MIT-LICENSE)
8
11
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
data/Rakefile CHANGED
@@ -4,6 +4,11 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
+ # Load Dummy App Rakefile
8
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
9
+ load 'rails/tasks/engine.rake'
10
+ # /Load Dummy App Rakefile
11
+
7
12
  require 'rdoc/task'
8
13
 
9
14
  RDoc::Task.new(:rdoc) do |rdoc|
@@ -1,7 +1,8 @@
1
1
  class Credible::Authentication::SessionsController < Credible::AuthenticationController
2
2
  before_action :set_session, only: [:show, :destroy]
3
3
 
4
- skip_before_action :authenticate!, only: [:new, :create]
4
+ skip_before_action :authenticate!, only: [:new, :create, :fail]
5
+ skip_after_action :verify_authorized, only: [:fail]
5
6
 
6
7
  # GET /sessions
7
8
  # GET /sessions.json
@@ -42,6 +43,10 @@ class Credible::Authentication::SessionsController < Credible::AuthenticationCon
42
43
  head :no_content
43
44
  end
44
45
 
46
+ def fail
47
+ render json: {}, status: :unauthorized
48
+ end
49
+
45
50
  private
46
51
  # Use callbacks to share common setup or constraints between actions.
47
52
  def set_session
@@ -1,5 +1,5 @@
1
1
  Rails.application.config.middleware.use Warden::Manager do |config|
2
- config.failure_app = ->(env) { SessionsController.action(:new).call(env) } # TODO: Fix me.
2
+ config.failure_app = ->(env) { Credible::Authentication::SessionsController.action(:fail).call(env) }
3
3
 
4
4
  config.default_scope = :session
5
5
 
@@ -31,8 +31,9 @@ Warden::Strategies.add(:jwt) do
31
31
  end
32
32
 
33
33
  session = ::Session.find(token[0]['data']['session_id'])
34
-
35
- session ? success!(session) : fail!('Could not authenticate')
34
+ success!(session)
35
+ rescue ActiveRecord::RecordNotFound
36
+ fail!('Could not authenticate')
36
37
  end
37
38
 
38
39
  def store?
@@ -50,8 +51,10 @@ Warden::Strategies.add(:api_token) do
50
51
  end
51
52
 
52
53
  def authenticate!
53
- session = ::Session.find_by(token: env['HTTP_API_TOKEN'])
54
- session ? success!(session) : fail!('Could not authenticate')
54
+ session = ::Session.find_by!(token: env['HTTP_API_TOKEN'])
55
+ success!(session)
56
+ rescue ActiveRecord::RecordNotFound
57
+ fail!('Could not authenticate')
55
58
  end
56
59
 
57
60
  def store?
@@ -1,3 +1,3 @@
1
1
  module Credible
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thom Bruce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-19 00:00:00.000000000 Z
11
+ date: 2020-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -86,6 +86,34 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: 4.0.0.beta3
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.17.1
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.17.1
103
+ - !ruby/object:Gem::Dependency
104
+ name: codecov
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
89
117
  description: Provides token-based authentication for Rails API apps.
90
118
  email:
91
119
  - thom@thombruce.com