auth0 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +2 -1
- data/.rubocop_todo.yml +0 -2
- data/.travis.yml +4 -2
- data/CHANGELOG.md +40 -38
- data/DEPLOYMENT.md +5 -0
- data/Gemfile +1 -1
- data/README.md +20 -2
- data/Rakefile +1 -1
- data/auth0.gemspec +4 -3
- data/doc_config/templates/default/layout/html/footer.erb +1 -1
- data/examples/ruby-api/.gitignore +86 -0
- data/examples/ruby-api/Gemfile +8 -0
- data/examples/ruby-api/README.md +24 -0
- data/examples/ruby-api/config.ru +2 -0
- data/examples/ruby-api/main.rb +33 -0
- data/examples/ruby-on-rails-api/.gitignore +18 -0
- data/examples/ruby-on-rails-api/Gemfile +48 -0
- data/examples/ruby-on-rails-api/README.md +27 -0
- data/examples/ruby-on-rails-api/Rakefile +6 -0
- data/examples/ruby-on-rails-api/app/assets/images/.keep +0 -0
- data/examples/ruby-on-rails-api/app/assets/javascripts/application.js +16 -0
- data/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +15 -0
- data/examples/ruby-on-rails-api/app/controllers/application_controller.rb +8 -0
- data/examples/ruby-on-rails-api/app/controllers/concerns/.keep +0 -0
- data/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +6 -0
- data/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +11 -0
- data/examples/ruby-on-rails-api/app/helpers/application_helper.rb +3 -0
- data/examples/ruby-on-rails-api/app/mailers/.keep +0 -0
- data/examples/ruby-on-rails-api/app/models/.keep +0 -0
- data/examples/ruby-on-rails-api/app/models/concerns/.keep +0 -0
- data/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +14 -0
- data/examples/ruby-on-rails-api/bin/bundle +3 -0
- data/examples/ruby-on-rails-api/bin/rails +4 -0
- data/examples/ruby-on-rails-api/bin/rake +4 -0
- data/examples/ruby-on-rails-api/bin/setup +29 -0
- data/examples/ruby-on-rails-api/config.ru +4 -0
- data/examples/ruby-on-rails-api/config/application.rb +23 -0
- data/examples/ruby-on-rails-api/config/boot.rb +4 -0
- data/examples/ruby-on-rails-api/config/database.yml +27 -0
- data/examples/ruby-on-rails-api/config/environment.rb +5 -0
- data/examples/ruby-on-rails-api/config/environments/development.rb +37 -0
- data/examples/ruby-on-rails-api/config/environments/production.rb +83 -0
- data/examples/ruby-on-rails-api/config/environments/test.rb +41 -0
- data/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +3 -0
- data/examples/ruby-on-rails-api/config/initializers/dotenv.rb +4 -0
- data/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/ruby-on-rails-api/config/initializers/inflections.rb +16 -0
- data/examples/ruby-on-rails-api/config/initializers/knock.rb +53 -0
- data/examples/ruby-on-rails-api/config/initializers/mime_types.rb +4 -0
- data/examples/ruby-on-rails-api/config/initializers/session_store.rb +3 -0
- data/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +14 -0
- data/examples/ruby-on-rails-api/config/locales/en.yml +23 -0
- data/examples/ruby-on-rails-api/config/routes.rb +58 -0
- data/examples/ruby-on-rails-api/config/secrets.yml +28 -0
- data/examples/ruby-on-rails-api/db/schema.rb +15 -0
- data/examples/ruby-on-rails-api/db/seeds.rb +7 -0
- data/examples/ruby-on-rails-api/lib/assets/.keep +0 -0
- data/examples/ruby-on-rails-api/lib/tasks/.keep +0 -0
- data/examples/ruby-on-rails-api/log/.keep +0 -0
- data/examples/ruby-on-rails-api/public/404.html +67 -0
- data/examples/ruby-on-rails-api/public/422.html +67 -0
- data/examples/ruby-on-rails-api/public/500.html +66 -0
- data/examples/ruby-on-rails-api/public/favicon.ico +0 -0
- data/examples/ruby-on-rails-api/public/robots.txt +5 -0
- data/examples/ruby-on-rails-api/test/controllers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/fixtures/.keep +0 -0
- data/examples/ruby-on-rails-api/test/helpers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/integration/.keep +0 -0
- data/examples/ruby-on-rails-api/test/mailers/.keep +0 -0
- data/examples/ruby-on-rails-api/test/models/.keep +0 -0
- data/examples/ruby-on-rails-api/test/ping_controller_test.rb +8 -0
- data/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +26 -0
- data/examples/ruby-on-rails-api/test/test_helper.rb +16 -0
- data/lib/auth0/api/authentication_endpoints.rb +59 -30
- data/lib/auth0/api/v1/clients.rb +1 -1
- data/lib/auth0/api/v1/connections.rb +4 -3
- data/lib/auth0/api/v1/logs.rb +1 -1
- data/lib/auth0/api/v1/rules.rb +1 -1
- data/lib/auth0/api/v1/users.rb +5 -5
- data/lib/auth0/api/v2.rb +10 -0
- data/lib/auth0/api/v2/blacklists.rb +1 -1
- data/lib/auth0/api/v2/client_grants.rb +57 -0
- data/lib/auth0/api/v2/clients.rb +14 -14
- data/lib/auth0/api/v2/connections.rb +19 -20
- data/lib/auth0/api/v2/device_credentials.rb +76 -0
- data/lib/auth0/api/v2/emails.rb +5 -7
- data/lib/auth0/api/v2/jobs.rb +15 -12
- data/lib/auth0/api/v2/logs.rb +65 -0
- data/lib/auth0/api/v2/resource_servers.rb +61 -0
- data/lib/auth0/api/v2/rules.rb +21 -20
- data/lib/auth0/api/v2/stats.rb +2 -2
- data/lib/auth0/api/v2/tenants.rb +6 -4
- data/lib/auth0/api/v2/tickets.rb +13 -14
- data/lib/auth0/api/v2/user_blocks.rb +62 -0
- data/lib/auth0/api/v2/users.rb +63 -32
- data/lib/auth0/client.rb +0 -2
- data/lib/auth0/mixins.rb +4 -3
- data/lib/auth0/mixins/httpproxy.rb +55 -0
- data/lib/auth0/mixins/initializer.rb +27 -10
- data/lib/auth0/version.rb +1 -1
- data/spec/integration/lib/auth0/api/api_authentication_spec.rb +118 -0
- data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +53 -0
- data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +5 -2
- data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +8 -5
- data/spec/integration/lib/auth0/api/v2/api_device_credentials_spec.rb +67 -0
- data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +15 -8
- data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +11 -9
- data/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +69 -0
- data/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +47 -0
- data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +2 -1
- data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +2 -2
- data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +73 -0
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +32 -5
- data/spec/integration/lib/auth0/auth0_client_spec.rb +14 -11
- data/spec/lib/auth0/api/authentication_endpoints_spec.rb +116 -56
- data/spec/lib/auth0/api/v1/connections_spec.rb +2 -4
- data/spec/lib/auth0/api/v1/rules_spec.rb +2 -1
- data/spec/lib/auth0/api/v1/users_spec.rb +17 -9
- data/spec/lib/auth0/api/v2/client_grants_spec.rb +44 -0
- data/spec/lib/auth0/api/v2/connections_spec.rb +2 -1
- data/spec/lib/auth0/api/v2/device_credentials_spec.rb +73 -0
- data/spec/lib/auth0/api/v2/jobs_spec.rb +3 -2
- data/spec/lib/auth0/api/v2/logs_spec.rb +48 -0
- data/spec/lib/auth0/api/v2/resource_servers_spec.rb +63 -0
- data/spec/lib/auth0/api/v2/rules_spec.rb +8 -4
- data/spec/lib/auth0/api/v2/tenants_spec.rb +2 -1
- data/spec/lib/auth0/api/v2/tickets_spec.rb +4 -7
- data/spec/lib/auth0/api/v2/user_blocks_spec.rb +52 -0
- data/spec/lib/auth0/api/v2/users_spec.rb +39 -6
- data/spec/lib/auth0/client_spec.rb +8 -5
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +225 -0
- data/spec/lib/auth0/mixins/initializer_spec.rb +1 -1
- data/spec/spec_helper_full.rb +12 -3
- data/spec/spec_helper_unit.rb +2 -2
- data/spec/support/credentials.rb +6 -4
- data/spec/support/dummy_class.rb +2 -1
- data/spec/support/dummy_class_for_proxy.rb +2 -2
- data/spec/support/dummy_class_for_restclient.rb +2 -0
- metadata +117 -9
- data/lib/auth0/mixins/httparty_proxy.rb +0 -38
- data/spec/lib/auth0/mixins/httparty_proxy_spec.rb +0 -148
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5662a97be797b89462c17138a8f056908bbd1bd9
|
4
|
+
data.tar.gz: 9973f4c3a23a12e1888c9da0751030def1259601
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 972202c41cb9e9f479f50479075daeaa33af13a3ac88ce94bff273267bad13b1f5ef56f03f300f9cd2845f576be9c91204c23dccac11f9a9dd51f5d1639cf316
|
7
|
+
data.tar.gz: cde76230c835cdf52f2e963edbd28bc794efb769c892739bfd70029954b6ad23c25a62b8a10285d21839d7c0fc09a300f005d6ab3cf2fd6147be2413b8761dcb
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,29 +1,63 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v4.1.0](https://github.com/auth0/ruby-auth0/tree/v4.1.0) (2016-07-25)
|
4
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v4.0.0...v4.1.0)
|
5
|
+
|
6
|
+
**Closed issues:**
|
7
|
+
|
8
|
+
- \#post\_password\_change requires a password for ticket. [\#69](https://github.com/auth0/ruby-auth0/issues/69)
|
9
|
+
- Exception messages are ruby hash string literals [\#63](https://github.com/auth0/ruby-auth0/issues/63)
|
10
|
+
- Ruby on Rails API issue [\#61](https://github.com/auth0/ruby-auth0/issues/61)
|
11
|
+
- Not possible to have V1 and V2 clients at the same time [\#60](https://github.com/auth0/ruby-auth0/issues/60)
|
12
|
+
- Be able to control timeout [\#57](https://github.com/auth0/ruby-auth0/issues/57)
|
13
|
+
- Version 4 changes [\#54](https://github.com/auth0/ruby-auth0/issues/54)
|
14
|
+
- Implement API v2 [\#38](https://github.com/auth0/ruby-auth0/issues/38)
|
15
|
+
|
16
|
+
**Merged pull requests:**
|
17
|
+
|
18
|
+
- Release 4.1.0 [\#71](https://github.com/auth0/ruby-auth0/pull/71) ([ignaciojonas](https://github.com/ignaciojonas))
|
19
|
+
- Use JSON \(result.body\) for exception messages in requests [\#67](https://github.com/auth0/ruby-auth0/pull/67) ([ianks](https://github.com/ianks))
|
20
|
+
- fixed rails api doesn't start, now impersionated links works with v2 [\#62](https://github.com/auth0/ruby-auth0/pull/62) ([Amialc](https://github.com/Amialc))
|
21
|
+
- Add api v2 log endpoints to the gem [\#59](https://github.com/auth0/ruby-auth0/pull/59) ([LindseyB](https://github.com/LindseyB))
|
22
|
+
|
23
|
+
## [v4.0.0](https://github.com/auth0/ruby-auth0/tree/v4.0.0) (2016-02-12)
|
24
|
+
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.6.1...v4.0.0)
|
25
|
+
|
26
|
+
**Closed issues:**
|
27
|
+
|
28
|
+
- Update LICENSE [\#47](https://github.com/auth0/ruby-auth0/issues/47)
|
29
|
+
- Integration tests [\#15](https://github.com/auth0/ruby-auth0/issues/15)
|
30
|
+
|
31
|
+
**Merged pull requests:**
|
32
|
+
|
33
|
+
- V2 - Rebased to Master [\#53](https://github.com/auth0/ruby-auth0/pull/53) ([ignaciojonas](https://github.com/ignaciojonas))
|
34
|
+
- V2 - Auth Endpoints + Gem deployment [\#50](https://github.com/auth0/ruby-auth0/pull/50) ([ignaciojonas](https://github.com/ignaciojonas))
|
35
|
+
- Documentation Style [\#49](https://github.com/auth0/ruby-auth0/pull/49) ([ignaciojonas](https://github.com/ignaciojonas))
|
36
|
+
- Update License [\#48](https://github.com/auth0/ruby-auth0/pull/48) ([aguerere](https://github.com/aguerere))
|
37
|
+
- API v2 Implementation [\#46](https://github.com/auth0/ruby-auth0/pull/46) ([ignaciojonas](https://github.com/ignaciojonas))
|
38
|
+
- Refresh token delegation [\#43](https://github.com/auth0/ruby-auth0/pull/43) ([LindseyB](https://github.com/LindseyB))
|
39
|
+
- Fix tests to make build green [\#41](https://github.com/auth0/ruby-auth0/pull/41) ([leosoubeste](https://github.com/leosoubeste))
|
40
|
+
- Rubocop Integration [\#39](https://github.com/auth0/ruby-auth0/pull/39) ([ignaciojonas](https://github.com/ignaciojonas))
|
41
|
+
- Remove semi-colons in README [\#37](https://github.com/auth0/ruby-auth0/pull/37) ([l4u](https://github.com/l4u))
|
4
42
|
|
43
|
+
## [v3.6.1](https://github.com/auth0/ruby-auth0/tree/v3.6.1) (2015-07-09)
|
5
44
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.6.0...v3.6.1)
|
6
45
|
|
7
46
|
**Merged pull requests:**
|
8
47
|
|
9
48
|
- set the search engine if a query is set [\#36](https://github.com/auth0/ruby-auth0/pull/36) ([taylorfinnell](https://github.com/taylorfinnell))
|
10
|
-
|
11
49
|
- email validation is broken by \_, which breaks the tests [\#35](https://github.com/auth0/ruby-auth0/pull/35) ([taylorfinnell](https://github.com/taylorfinnell))
|
12
50
|
|
13
51
|
## [v3.6.0](https://github.com/auth0/ruby-auth0/tree/v3.6.0) (2015-06-01)
|
14
|
-
|
15
52
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.5.0...v3.6.0)
|
16
53
|
|
17
54
|
**Merged pull requests:**
|
18
55
|
|
19
56
|
- Remove exclude\_fields parameter for getting users [\#34](https://github.com/auth0/ruby-auth0/pull/34) ([hzalaz](https://github.com/hzalaz))
|
20
|
-
|
21
57
|
- Add connections [\#33](https://github.com/auth0/ruby-auth0/pull/33) ([taylorfinnell](https://github.com/taylorfinnell))
|
22
|
-
|
23
58
|
- Use client header spec as per documentation [\#32](https://github.com/auth0/ruby-auth0/pull/32) ([benschwarz](https://github.com/benschwarz))
|
24
59
|
|
25
60
|
## [v3.5.0](https://github.com/auth0/ruby-auth0/tree/v3.5.0) (2015-05-21)
|
26
|
-
|
27
61
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.4.0...v3.5.0)
|
28
62
|
|
29
63
|
**Merged pull requests:**
|
@@ -31,83 +65,51 @@
|
|
31
65
|
- Client information headers [\#31](https://github.com/auth0/ruby-auth0/pull/31) ([benschwarz](https://github.com/benschwarz))
|
32
66
|
|
33
67
|
## [v3.4.0](https://github.com/auth0/ruby-auth0/tree/v3.4.0) (2015-05-07)
|
34
|
-
|
35
68
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.3.0...v3.4.0)
|
36
69
|
|
37
70
|
**Closed issues:**
|
38
71
|
|
39
72
|
- Changelog [\#29](https://github.com/auth0/ruby-auth0/issues/29)
|
40
|
-
|
41
73
|
- Tag releases [\#16](https://github.com/auth0/ruby-auth0/issues/16)
|
42
74
|
|
43
75
|
**Merged pull requests:**
|
44
76
|
|
45
77
|
- allow setting impersonation ttl [\#30](https://github.com/auth0/ruby-auth0/pull/30) ([seamusabshere](https://github.com/seamusabshere))
|
46
|
-
|
47
78
|
- Fix broken link in README [\#28](https://github.com/auth0/ruby-auth0/pull/28) ([dentarg](https://github.com/dentarg))
|
48
79
|
|
49
80
|
## [v3.3.0](https://github.com/auth0/ruby-auth0/tree/v3.3.0) (2015-04-15)
|
50
|
-
|
51
81
|
[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.2.0...v3.3.0)
|
52
82
|
|
53
83
|
**Closed issues:**
|
54
84
|
|
55
85
|
- AuthenticationEndpoints should be independent of the V1/V2 API [\#20](https://github.com/auth0/ruby-auth0/issues/20)
|
56
|
-
|
57
86
|
- Typo in AuthenticationEndpoints.login [\#17](https://github.com/auth0/ruby-auth0/issues/17)
|
58
|
-
|
59
87
|
- Remove generated docs [\#14](https://github.com/auth0/ruby-auth0/issues/14)
|
60
|
-
|
61
88
|
- Remove the examples directory from this repository [\#4](https://github.com/auth0/ruby-auth0/issues/4)
|
62
89
|
|
63
90
|
**Merged pull requests:**
|
64
91
|
|
65
92
|
- Chore integration tests [\#27](https://github.com/auth0/ruby-auth0/pull/27) ([hzalaz](https://github.com/hzalaz))
|
66
|
-
|
67
93
|
- allow to pass extra parameters to delegation method [\#23](https://github.com/auth0/ruby-auth0/pull/23) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
|
68
94
|
|
69
95
|
## [v3.2.0](https://github.com/auth0/ruby-auth0/tree/v3.2.0) (2015-04-14)
|
70
|
-
|
71
96
|
**Merged pull requests:**
|
72
97
|
|
73
98
|
- Impersonation [\#26](https://github.com/auth0/ruby-auth0/pull/26) ([dentarg](https://github.com/dentarg))
|
74
|
-
|
75
99
|
- Allow to set api\_type to use with salesforce\_api [\#25](https://github.com/auth0/ruby-auth0/pull/25) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
|
76
|
-
|
77
100
|
- Fixed few issues from issues list [\#22](https://github.com/auth0/ruby-auth0/pull/22) ([offtop](https://github.com/offtop))
|
78
|
-
|
79
101
|
- Update readme.md api v2 basic usage example [\#19](https://github.com/auth0/ruby-auth0/pull/19) ([ethancrawford](https://github.com/ethancrawford))
|
80
|
-
|
81
102
|
- fix token initialization to prevent nil token value [\#18](https://github.com/auth0/ruby-auth0/pull/18) ([ethancrawford](https://github.com/ethancrawford))
|
82
|
-
|
83
103
|
- Make the client work for API v1 [\#13](https://github.com/auth0/ruby-auth0/pull/13) ([dentarg](https://github.com/dentarg))
|
84
|
-
|
85
104
|
- Fix typo delegation signature; open\_id =\> openid [\#12](https://github.com/auth0/ruby-auth0/pull/12) ([dentarg](https://github.com/dentarg))
|
86
|
-
|
87
105
|
- Make the tests run on Travis CI [\#11](https://github.com/auth0/ruby-auth0/pull/11) ([dentarg](https://github.com/dentarg))
|
88
|
-
|
89
106
|
- Added support for API V1 and API V2 [\#9](https://github.com/auth0/ruby-auth0/pull/9) ([offtop](https://github.com/offtop))
|
90
|
-
|
91
107
|
- Update README.md [\#8](https://github.com/auth0/ruby-auth0/pull/8) ([pose](https://github.com/pose))
|
92
|
-
|
93
108
|
- Make delete user safe [\#5](https://github.com/auth0/ruby-auth0/pull/5) ([dentarg](https://github.com/dentarg))
|
94
|
-
|
95
109
|
- Remove the omniauth strategy [\#3](https://github.com/auth0/ruby-auth0/pull/3) ([dentarg](https://github.com/dentarg))
|
96
|
-
|
97
110
|
- Fix rspec deprecation warning [\#2](https://github.com/auth0/ruby-auth0/pull/2) ([dentarg](https://github.com/dentarg))
|
98
|
-
|
99
111
|
- Add method to access delegation endpoint [\#1](https://github.com/auth0/ruby-auth0/pull/1) ([FrancisPlaza](https://github.com/FrancisPlaza))
|
100
112
|
|
101
|
-
- Authendpoint in v2 [\#24](https://github.com/auth0/ruby-auth0/pull/24) ([Maxim-Filimonov](https://github.com/Maxim-Filimonov))
|
102
|
-
|
103
|
-
- make AuthenticationEndpoints available to client in v2 mode [\#21](https://github.com/auth0/ruby-auth0/pull/21) ([MungoH](https://github.com/MungoH))
|
104
|
-
|
105
|
-
- updated webmock version, updated documentation [\#10](https://github.com/auth0/ruby-auth0/pull/10) ([offtop](https://github.com/offtop))
|
106
|
-
|
107
|
-
- Add create user method [\#7](https://github.com/auth0/ruby-auth0/pull/7) ([dentarg](https://github.com/dentarg))
|
108
|
-
|
109
|
-
- Add impersonation method [\#6](https://github.com/auth0/ruby-auth0/pull/6) ([dentarg](https://github.com/dentarg))
|
110
|
-
|
111
113
|
|
112
114
|
|
113
115
|
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/DEPLOYMENT.md
ADDED
data/Gemfile
CHANGED
@@ -4,7 +4,7 @@ source 'http://rubygems.org'
|
|
4
4
|
gemspec
|
5
5
|
|
6
6
|
group :development do
|
7
|
-
gem 'terminal-notifier-guard', require: false
|
7
|
+
gem 'terminal-notifier-guard', require: false unless ENV['TRAVIS']
|
8
8
|
gem 'coveralls', require: false
|
9
9
|
gem 'rubocop', require: false
|
10
10
|
gem 'yard', require: false
|
data/README.md
CHANGED
@@ -25,8 +25,9 @@ Using [APIv2](https://auth0.com/docs/api/v2)
|
|
25
25
|
require "auth0"
|
26
26
|
|
27
27
|
auth0 = Auth0Client.new(
|
28
|
+
:client_id => "YOUR CLIENT ID"
|
28
29
|
:token => "YOUR JWT HERE",
|
29
|
-
:domain => "<YOUR ACCOUNT>.auth0.com"
|
30
|
+
:domain => "<YOUR ACCOUNT>.auth0.com"
|
30
31
|
)
|
31
32
|
|
32
33
|
puts auth0.get_users
|
@@ -40,7 +41,24 @@ require "auth0"
|
|
40
41
|
auth0 = Auth0Client.new(
|
41
42
|
:client_id => "YOUR CLIENT ID",
|
42
43
|
:client_secret => "YOUR CLIENT SECRET",
|
43
|
-
:domain => "<YOUR ACCOUNT>.auth0.com"
|
44
|
+
:domain => "<YOUR ACCOUNT>.auth0.com",
|
45
|
+
:api_version => "1"
|
46
|
+
)
|
47
|
+
|
48
|
+
puts auth0.get_users
|
49
|
+
```
|
50
|
+
|
51
|
+
### Timeout
|
52
|
+
You can setup a custom timeout in the Auth0Client. By default it is set to 10 minutes.
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
require "auth0"
|
56
|
+
|
57
|
+
auth0 = Auth0Client.new(
|
58
|
+
:client_id => "YOUR CLIENT ID"
|
59
|
+
:token => "YOUR JWT HERE",
|
60
|
+
:domain => "<YOUR ACCOUNT>.auth0.com",
|
61
|
+
:timeout => 15
|
44
62
|
)
|
45
63
|
|
46
64
|
puts auth0.get_users
|
data/Rakefile
CHANGED
@@ -10,7 +10,7 @@ begin
|
|
10
10
|
RuboCop::RakeTask.new(:rubocop)
|
11
11
|
|
12
12
|
require 'yard'
|
13
|
-
DOC_FILES = ['lib/auth0/api/v2/*.rb', 'lib/auth0/api/authentication_endpoints.rb']
|
13
|
+
DOC_FILES = ['lib/auth0/api/v2/*.rb', 'lib/auth0/api/authentication_endpoints.rb'].freeze
|
14
14
|
|
15
15
|
desc 'Build Documentation'
|
16
16
|
YARD::Rake::YardocTask.new(:documentation) do |t|
|
data/auth0.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = ['support@auth0.com']
|
10
10
|
s.homepage = 'https://github.com/auth0/ruby-auth0'
|
11
11
|
s.summary = 'Auth0 API Client'
|
12
|
-
s.description = 'Ruby
|
12
|
+
s.description = 'Ruby toolkit for Auth0 API https://auth0.com.'
|
13
13
|
|
14
14
|
s.rubyforge_project = 'auth0'
|
15
15
|
|
@@ -18,16 +18,17 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
19
19
|
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.add_runtime_dependency '
|
21
|
+
s.add_runtime_dependency 'rest-client', '~> 1.8.0'
|
22
22
|
|
23
23
|
s.add_development_dependency 'rake', '~> 10.4'
|
24
24
|
s.add_development_dependency 'fuubar', '~> 2.0'
|
25
|
-
s.add_development_dependency 'guard-rspec', '~> 4.5'
|
25
|
+
s.add_development_dependency 'guard-rspec', '~> 4.5' unless ENV['TRAVIS']
|
26
26
|
s.add_development_dependency 'dotenv-rails', '~> 2.0'
|
27
27
|
s.add_development_dependency 'pry', '~> 0.10'
|
28
28
|
s.add_development_dependency 'pry-nav', '~> 0.2.4'
|
29
29
|
s.add_development_dependency 'rspec', '~> 3.1', '>= 3.1.0'
|
30
30
|
s.add_development_dependency 'rack-test', '~> 0.6'
|
31
|
+
s.add_development_dependency 'rack', '~> 1.6.4'
|
31
32
|
s.add_development_dependency 'simplecov', '~> 0.9'
|
32
33
|
s.add_development_dependency 'faker', '~> 1.4'
|
33
34
|
s.add_development_dependency 'yard', '~> 0.8'
|
@@ -80,7 +80,7 @@
|
|
80
80
|
<div class="item">
|
81
81
|
<a href="mailto:support@auth0.com">Email Us</a>
|
82
82
|
</div>
|
83
|
-
<div class="item item-text">
|
83
|
+
<div class="item item-text">10900 NE 8th St.<br>Suite 700<br>Bellevue, WA 98004</div>
|
84
84
|
</div>
|
85
85
|
<div class="column no-heading">
|
86
86
|
<div class="item item-phone-label">Sales</div>
|
@@ -0,0 +1,86 @@
|
|
1
|
+
### Ruby template
|
2
|
+
*.gem
|
3
|
+
*.rbc
|
4
|
+
/.config
|
5
|
+
/coverage/
|
6
|
+
/InstalledFiles
|
7
|
+
/pkg/
|
8
|
+
/spec/reports/
|
9
|
+
/spec/examples.txt
|
10
|
+
/test/tmp/
|
11
|
+
/test/version_tmp/
|
12
|
+
/tmp/
|
13
|
+
|
14
|
+
## Specific to RubyMotion:
|
15
|
+
.dat*
|
16
|
+
.repl_history
|
17
|
+
build/
|
18
|
+
|
19
|
+
## Documentation cache and generated files:
|
20
|
+
/.yardoc/
|
21
|
+
/_yardoc/
|
22
|
+
/doc/
|
23
|
+
/rdoc/
|
24
|
+
|
25
|
+
## Environment normalisation:
|
26
|
+
/.bundle/
|
27
|
+
/vendor/bundle
|
28
|
+
/lib/bundler/man/
|
29
|
+
|
30
|
+
# for a library or gem, you might want to ignore these files since the code is
|
31
|
+
# intended to run in multiple environments; otherwise, check them in:
|
32
|
+
# Gemfile.lock
|
33
|
+
# .ruby-version
|
34
|
+
# .ruby-gemset
|
35
|
+
|
36
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
37
|
+
.rvmrc
|
38
|
+
### JetBrains template
|
39
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
40
|
+
|
41
|
+
*.iml
|
42
|
+
|
43
|
+
## Directory-based project format:
|
44
|
+
.idea/
|
45
|
+
# if you remove the above rule, at least ignore the following:
|
46
|
+
|
47
|
+
# User-specific stuff:
|
48
|
+
# .idea/workspace.xml
|
49
|
+
# .idea/tasks.xml
|
50
|
+
# .idea/dictionaries
|
51
|
+
|
52
|
+
# Sensitive or high-churn files:
|
53
|
+
# .idea/dataSources.ids
|
54
|
+
# .idea/dataSources.xml
|
55
|
+
# .idea/sqlDataSources.xml
|
56
|
+
# .idea/dynamic.xml
|
57
|
+
# .idea/uiDesigner.xml
|
58
|
+
|
59
|
+
# Gradle:
|
60
|
+
# .idea/gradle.xml
|
61
|
+
# .idea/libraries
|
62
|
+
|
63
|
+
# Mongo Explorer plugin:
|
64
|
+
# .idea/mongoSettings.xml
|
65
|
+
|
66
|
+
## File-based project format:
|
67
|
+
*.ipr
|
68
|
+
*.iws
|
69
|
+
|
70
|
+
## Plugin-specific files:
|
71
|
+
|
72
|
+
# IntelliJ
|
73
|
+
/out/
|
74
|
+
|
75
|
+
# mpeltonen/sbt-idea plugin
|
76
|
+
.idea_modules/
|
77
|
+
|
78
|
+
# JIRA plugin
|
79
|
+
atlassian-ide-plugin.xml
|
80
|
+
|
81
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
82
|
+
com_crashlytics_export_strings.xml
|
83
|
+
crashlytics.properties
|
84
|
+
crashlytics-build.properties
|
85
|
+
|
86
|
+
.env
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#Auth0 + Ruby API Seed
|
2
|
+
|
3
|
+
This is the seed project you need to use if you're going to create a Ruby API. You'll mostly use this API either for a SPA or a Mobile app.
|
4
|
+
|
5
|
+
#Running the example
|
6
|
+
|
7
|
+
In order to run the example you need to have ruby installed.
|
8
|
+
|
9
|
+
You also need to set the ClientSecret and ClientId for your Auth0 app as enviroment variables with the following names respectively: AUTH0_CLIENT_SECRET and AUTH0_CLIENT_ID.
|
10
|
+
|
11
|
+
For that, if you just create a file named .env in the directory and set the values like the following, the app will just work:
|
12
|
+
|
13
|
+
````bash
|
14
|
+
# .env file
|
15
|
+
AUTH0_CLIENT_SECRET=myCoolSecret
|
16
|
+
AUTH0_CLIENT_ID=myCoolClientId
|
17
|
+
````
|
18
|
+
|
19
|
+
Once you've set those 2 enviroment variables, run `bundle install`, then run `rackup -p 3001` and try calling [http://localhost:3001/ping](http://localhost:3001/ping)
|
20
|
+
|
21
|
+
You can then try to do a GET to [http://localhost:3001/secured/ping](http://localhost:3001/secured/ping) which will throw an error if you don't send the JWT in the header.
|
22
|
+
|
23
|
+
__Note:__ if you need to enable cross-origin resource sharing, check out the [sinatra-cors_origin](
|
24
|
+
https://github.com/britg/sinatra-cross_origin) gem.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'dotenv'
|
2
|
+
require 'jwt'
|
3
|
+
require 'sinatra'
|
4
|
+
Dotenv.load '.env'
|
5
|
+
set :show_exceptions, false
|
6
|
+
|
7
|
+
class InvalidTokenError < StandardError
|
8
|
+
end
|
9
|
+
|
10
|
+
def validate_token(env)
|
11
|
+
auth0_client_id = ENV['AUTH0_CLIENT_ID']
|
12
|
+
auth0_client_secret = ENV['AUTH0_CLIENT_SECRET']
|
13
|
+
authorization = env['HTTP_AUTHORIZATION']
|
14
|
+
raise InvalidTokenError if authorization.nil?
|
15
|
+
decoded_token = JWT.decode(authorization.split(' ').last, JWT.base64url_decode(auth0_client_secret))
|
16
|
+
raise InvalidTokenError if auth0_client_id != decoded_token[0]['aud']
|
17
|
+
'You get this only if authenticated'
|
18
|
+
rescue JWT::DecodeError
|
19
|
+
raise InvalidTokenError
|
20
|
+
end
|
21
|
+
|
22
|
+
error InvalidTokenError do
|
23
|
+
'Invalid token'
|
24
|
+
end
|
25
|
+
|
26
|
+
get '/secured/ping' do
|
27
|
+
validate_token env
|
28
|
+
'All good. You can see it because token is valid'
|
29
|
+
end
|
30
|
+
|
31
|
+
get '/ping' do
|
32
|
+
'ping'
|
33
|
+
end
|