standard_id 0.1.0 → 0.1.1

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +340 -7
  3. data/app/controllers/standard_id/api/providers_controller.rb +15 -16
  4. data/app/controllers/standard_id/web/verify_email/base_controller.rb +9 -0
  5. data/app/controllers/standard_id/web/verify_email/confirm_controller.rb +41 -0
  6. data/app/controllers/standard_id/web/verify_email/start_controller.rb +39 -0
  7. data/app/controllers/standard_id/web/verify_phone/base_controller.rb +9 -0
  8. data/app/controllers/standard_id/web/verify_phone/confirm_controller.rb +41 -0
  9. data/app/controllers/standard_id/web/verify_phone/start_controller.rb +39 -0
  10. data/app/forms/standard_id/web/signup_form.rb +3 -14
  11. data/app/models/standard_id/{passwordless_challenge.rb → code_challenge.rb} +9 -5
  12. data/app/models/standard_id/email_identifier.rb +2 -0
  13. data/app/models/standard_id/identifier.rb +17 -0
  14. data/app/models/standard_id/phone_number_identifier.rb +2 -0
  15. data/app/models/standard_id/username_identifier.rb +2 -0
  16. data/config/routes/web.rb +12 -0
  17. data/db/migrate/20250830000000_create_standard_id_client_applications.rb +3 -3
  18. data/db/migrate/20250830232800_create_standard_id_identifiers.rb +1 -1
  19. data/db/migrate/20250831075703_create_standard_id_credentials.rb +2 -2
  20. data/db/migrate/20250831154635_create_standard_id_sessions.rb +2 -2
  21. data/db/migrate/20250901134520_create_standard_id_client_secret_credentials.rb +2 -2
  22. data/db/migrate/20250907090000_create_standard_id_code_challenges.rb +29 -0
  23. data/lib/generators/standard_id/install/templates/standard_id.rb +31 -3
  24. data/lib/{standard_id → standard_config}/config.rb +1 -1
  25. data/lib/standard_config/config_provider.rb +82 -0
  26. data/lib/standard_config/manager.rb +86 -0
  27. data/lib/standard_config/schema.rb +137 -0
  28. data/lib/standard_config.rb +38 -0
  29. data/lib/standard_id/api/session_manager.rb +1 -1
  30. data/lib/standard_id/config/schema.rb +48 -0
  31. data/lib/standard_id/oauth/passwordless_otp_flow.rb +7 -6
  32. data/lib/standard_id/passwordless/base_strategy.rb +8 -4
  33. data/lib/standard_id/version.rb +1 -1
  34. data/lib/standard_id.rb +12 -4
  35. metadata +15 -4
  36. data/db/migrate/20250903135906_create_standard_id_passwordless_challenges.rb +0 -22
data/lib/standard_id.rb CHANGED
@@ -2,7 +2,7 @@ require "standard_id/version"
2
2
  require "standard_id/engine"
3
3
  require "standard_id/web_engine"
4
4
  require "standard_id/api_engine"
5
- require "standard_id/config"
5
+ require "standard_id/config/schema"
6
6
  require "standard_id/errors"
7
7
  require "standard_id/jwt_service"
8
8
  require "standard_id/web/session_manager"
@@ -30,12 +30,16 @@ require "standard_id/passwordless/sms_strategy"
30
30
 
31
31
  module StandardId
32
32
  class << self
33
- def configure
34
- yield config
33
+ def configure(&block)
34
+ StandardConfig.configure(&block)
35
+ end
36
+
37
+ def register(scope_name, resolver_proc)
38
+ StandardConfig.config.register(scope_name, resolver_proc)
35
39
  end
36
40
 
37
41
  def config
38
- @config ||= StandardId::Config.new
42
+ StandardConfig.config
39
43
  end
40
44
 
41
45
  def cache_store
@@ -45,5 +49,9 @@ module StandardId
45
49
  def logger
46
50
  @logger ||= config.logger || Rails.logger
47
51
  end
52
+
53
+ def account_class
54
+ config.account_class_name.constantize
55
+ end
48
56
  end
49
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard_id
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaryl Sim
@@ -83,6 +83,12 @@ files:
83
83
  - app/controllers/standard_id/web/reset_password/start_controller.rb
84
84
  - app/controllers/standard_id/web/sessions_controller.rb
85
85
  - app/controllers/standard_id/web/signup_controller.rb
86
+ - app/controllers/standard_id/web/verify_email/base_controller.rb
87
+ - app/controllers/standard_id/web/verify_email/confirm_controller.rb
88
+ - app/controllers/standard_id/web/verify_email/start_controller.rb
89
+ - app/controllers/standard_id/web/verify_phone/base_controller.rb
90
+ - app/controllers/standard_id/web/verify_phone/confirm_controller.rb
91
+ - app/controllers/standard_id/web/verify_phone/start_controller.rb
86
92
  - app/forms/standard_id/web/reset_password_confirm_form.rb
87
93
  - app/forms/standard_id/web/reset_password_start_form.rb
88
94
  - app/forms/standard_id/web/signup_form.rb
@@ -96,12 +102,12 @@ files:
96
102
  - app/models/standard_id/browser_session.rb
97
103
  - app/models/standard_id/client_application.rb
98
104
  - app/models/standard_id/client_secret_credential.rb
105
+ - app/models/standard_id/code_challenge.rb
99
106
  - app/models/standard_id/credential.rb
100
107
  - app/models/standard_id/device_session.rb
101
108
  - app/models/standard_id/email_identifier.rb
102
109
  - app/models/standard_id/identifier.rb
103
110
  - app/models/standard_id/password_credential.rb
104
- - app/models/standard_id/passwordless_challenge.rb
105
111
  - app/models/standard_id/phone_number_identifier.rb
106
112
  - app/models/standard_id/service_session.rb
107
113
  - app/models/standard_id/session.rb
@@ -124,15 +130,20 @@ files:
124
130
  - db/migrate/20250831154635_create_standard_id_sessions.rb
125
131
  - db/migrate/20250901134520_create_standard_id_client_secret_credentials.rb
126
132
  - db/migrate/20250903063000_create_standard_id_authorization_codes.rb
127
- - db/migrate/20250903135906_create_standard_id_passwordless_challenges.rb
133
+ - db/migrate/20250907090000_create_standard_id_code_challenges.rb
128
134
  - lib/generators/standard_id/install/install_generator.rb
129
135
  - lib/generators/standard_id/install/templates/standard_id.rb
136
+ - lib/standard_config.rb
137
+ - lib/standard_config/config.rb
138
+ - lib/standard_config/config_provider.rb
139
+ - lib/standard_config/manager.rb
140
+ - lib/standard_config/schema.rb
130
141
  - lib/standard_id.rb
131
142
  - lib/standard_id/api/authentication_guard.rb
132
143
  - lib/standard_id/api/session_manager.rb
133
144
  - lib/standard_id/api/token_manager.rb
134
145
  - lib/standard_id/api_engine.rb
135
- - lib/standard_id/config.rb
146
+ - lib/standard_id/config/schema.rb
136
147
  - lib/standard_id/engine.rb
137
148
  - lib/standard_id/errors.rb
138
149
  - lib/standard_id/jwt_service.rb
@@ -1,22 +0,0 @@
1
- class CreateStandardIdPasswordlessChallenges < ActiveRecord::Migration[8.0]
2
- def change
3
- create_table :standard_id_passwordless_challenges do |t|
4
- t.string :connection_type, null: false
5
-
6
- t.string :username, null: false
7
- t.string :code, null: false
8
-
9
- t.datetime :expires_at, null: false
10
- t.datetime :used_at
11
-
12
- t.string :ip_address
13
- t.text :user_agent
14
-
15
- t.timestamps
16
- end
17
-
18
- add_index :standard_id_passwordless_challenges, [:connection_type, :username, :code], name: "index_passwordless_challenges_on_lookup"
19
- add_index :standard_id_passwordless_challenges, :expires_at
20
- add_index :standard_id_passwordless_challenges, :used_at
21
- end
22
- end