firebase-auth-rails 0.0.4 → 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
  SHA256:
3
- metadata.gz: 507e0e7ef90a053c0c9f58e3d8d3b3ba0279e8666142cd2aa7d7d666530dfc21
4
- data.tar.gz: ac8408bc638e1c74611bf9d1240d7b35501008870a1a00d1e012d55c91a38480
3
+ metadata.gz: c353ae51e753adbb1e5b6a6b1d2edca946c7f2bb7e9c9919a48458a6d69f406c
4
+ data.tar.gz: 51a63c88ec83b863736fade086089717c3274771333722779572bdfdd73ff436
5
5
  SHA512:
6
- metadata.gz: 24f2c656ce440ebd2e0e2a61e02a2a70d1efc395d6ba80b3710a1a0c154f0d45a7443c09ff0290efd34b45f29938f4efabddebb98eec0c14fb3a4974f06e5450
7
- data.tar.gz: 7333bd48506dcb9160502036978cd77ec1dc2fe6d459026a515a34e873b1bd6ad43c565fbfd08d1956ba4210d1381059e0702f422d5f3831334ca90f5f6e7979
6
+ metadata.gz: e2f0f7714cc897055465ba21e61cf5d0eac57800bf25512f8542317593155f78e6d26837926d0e9068adb08d3420716db775735cf9c01aac8eed88bfe893ad57
7
+ data.tar.gz: c798b6cf2e797f0a6a6c0b6f64e0e563e584521388cfd76c094694764bd43a9d325e42d9be3974a7e88f72ef397df9adf1c0fb4a440f1f154d597896aebaa230
data/README.md CHANGED
@@ -3,13 +3,100 @@
3
3
 
4
4
  This is a plugin that performs firebase authentication in rails.
5
5
 
6
+ [![Gem Version](https://badge.fury.io/rb/firebase-auth-rails.svg)](https://badge.fury.io/rb/firebase-auth-rails)
7
+ [![Build Status](https://travis-ci.org/penguinwokrs/firebase-auth-rails.svg?branch=master)](https://travis-ci.org/penguinwokrs/firebase-auth-rails)
8
+ [![Maintainability](https://api.codeclimate.com/v1/badges/42c3a31a589213a5b82b/maintainability)](https://codeclimate.com/github/penguinwokrs/aws-transcoder-rails/maintainability)
9
+
10
+ Supported Rails version is 5.x, 6.0
11
+
12
+ As of version 4.2, the test environment is not ready and I do not know if it will work.
13
+
14
+
6
15
  Made influenced by [firebase_id_token](https://github.com/fschuindt/firebase_id_token) and [knock](https://github.com/nsarno/knock)
7
16
 
8
17
  Thanks to the author.
9
18
 
19
+ ## Status
20
+ Now it's a beta version.
21
+ Only login feature is available.
22
+ It does not have firebase user creation feature.
10
23
 
11
24
  ## Usage
12
- How to use my plugin.
25
+ Add database migrate method.
26
+
27
+ ```ruby
28
+ class AddUidToUsers < ActiveRecord::Migration[5.1]
29
+ def change
30
+ add_column :users, :uid, :string
31
+ end
32
+ end
33
+ ```
34
+
35
+ Add the following code to the controller to use.
36
+
37
+ ```ruby
38
+ include Firebase::Auth::Authenticable
39
+ before_action :authenticate_user
40
+ ```
41
+
42
+ The current user is defined
43
+ ``` ruby
44
+ current_user.user_name
45
+ # => yamada
46
+ ```
47
+
48
+ The following is a generic user creation code
49
+
50
+ * api/v1/application_controller
51
+
52
+ ```ruby
53
+ module Api
54
+ class V1::ApplicationController < ActionController::API
55
+ include Firebase::Auth::Authenticable
56
+ before_action :authenticate_user
57
+ end
58
+ end
59
+ ```
60
+
61
+ * api/v1/auth/registrations_controller
62
+ ```ruby
63
+
64
+ require_dependency 'api/v1/application_controller'
65
+ module Api
66
+ module V1
67
+ module Auth
68
+ class RegistrationsController < V1::ApplicationController
69
+ skip_before_action :authenticate_user
70
+
71
+ def create
72
+ raise ArgumentError, 'BadRequest Parameter' if payload.blank?
73
+ user = User.create!(sign_up_params.merge(uid: payload['sub']))
74
+ render json: user, serializer: V1::AuthSerializer, status: :ok
75
+ end
76
+
77
+ private
78
+
79
+ def sign_up_params
80
+ params.require(:registration).permit(:user_name, :display_name)
81
+ end
82
+
83
+ def token_from_request_headers
84
+ request.headers['Authorization']&.split&.last
85
+ end
86
+
87
+ def token
88
+ params[:token] || token_from_request_headers
89
+ end
90
+
91
+ def payload
92
+ @payload ||= FirebaseIdToken::Signature.verify token
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+
99
+ ```
13
100
 
14
101
  ## Installation
15
102
  Add this line to your application's Gemfile:
@@ -28,8 +115,40 @@ Or install it yourself as:
28
115
  $ gem install firebase-auth-rails
29
116
  ```
30
117
 
118
+ ## initializer
119
+ ```ruby
120
+ # frozen_string_literal: true
121
+
122
+ FirebaseIdToken.configure do |config|
123
+ config.redis = Redis.new
124
+ config.project_ids = ['firebase_project_id']
125
+ end
126
+
127
+ ```
128
+
129
+ ## Testing
130
+ There is preparation for testing firebase certification.
131
+ Please click here. [link](https://github.com/fschuindt/firebase_id_token#user-content-development)
132
+
31
133
  ## Contributing
134
+ We welcome PR.
135
+
136
+
137
+ ## development
138
+ ### getting started
139
+
140
+ * Test preparation
32
141
 
142
+ ```bash
143
+ cd test/dummy/
144
+ bin/rails migrate
145
+ ```
146
+
147
+ * The test is a minitest
148
+ ```bash
149
+ # Project root dir
150
+ rake test
151
+ ```
33
152
 
34
153
  ## License
35
154
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -1,7 +1,7 @@
1
1
  module Firebase
2
2
  module Auth
3
3
  module Rails
4
- VERSION = '0.0.4'
4
+ VERSION = '0.1.2'
5
5
  end
6
6
  end
7
7
  end
@@ -23,11 +23,9 @@ module Firebase
23
23
 
24
24
  def set_public_key
25
25
  # FIXME: cache
26
- return unless FirebaseIdToken::Certificates.blank? || 0 <= FirebaseIdToken::Certificates.ttl
27
- FirebaseIdToken::Certificates.request
26
+ FirebaseIdToken::Certificates.request! unless 60 <= FirebaseIdToken::Certificates.ttl
28
27
  nil
29
28
  end
30
-
31
29
  end
32
30
  end
33
31
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firebase-auth-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - penguinwokrs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-06 00:00:00.000000000 Z
11
+ date: 2019-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.3.6
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.3.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: redis
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -84,36 +84,36 @@ dependencies:
84
84
  name: rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 5.1.6
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 5.1.6
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: firebase_id_token
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 2.1.0
103
+ version: 2.3.0
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 2.3.0
106
+ version: '2.3'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: 2.1.0
113
+ version: 2.3.0
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 2.3.0
116
+ version: '2.3'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: jwt
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -168,8 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.6
171
+ rubygems_version: 3.0.3
173
172
  signing_key:
174
173
  specification_version: 4
175
174
  summary: Summary of Firebase::Auth::Rails.