maestrano-rails 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +43 -38
  4. data/README.md +4 -7
  5. data/lib/generators/maestrano/templates/maestrano.rb +6 -139
  6. data/lib/maestrano/rails/routing/routes.rb +1 -9
  7. data/maestrano-rails.gemspec +8 -9
  8. data/test/dummy_activerecord/config/initializers/maestrano.rb +7 -85
  9. data/test/dummy_activerecord/log/test.log +2947 -0
  10. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/1Y/1YNesTg9JO8EmKnsQ5o2QuHPY1_SoBI4IzPgjGbNDtg.cache +1 -0
  11. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/2E/2EMDck6E8hnJgftO6NKYnFBF3I7OY1XxmBhGYJx9hVU.cache +1 -0
  12. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/2J/2JXGkjZ38teJKsoxInZDvaepp3CkHBoDSogY8mrjnz4.cache +0 -0
  13. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/2y/2yOKmCmlo43TKFToC7sDi79zv1sEaKuRhPT-9RwLexo.cache +1 -0
  14. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/5g/5g7dhxVp4YbZmFw_-T3aU2oYq2Z9Jgtps0CKneXYSS0.cache +0 -0
  15. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/6C/6CJDEgEqVZ6WWB28_UrOgZXJ7imhTkyPfJCnjZaeHQo.cache +0 -0
  16. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/9v/9vZgtlozMnArb7R4KXZgyLUlc2hAKYMVeczENURRLfk.cache +0 -0
  17. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/BD/BD9vS-VA_G0ByKRS5cM8hNg17DhxAUCnbjirsC7QZT8.cache +0 -0
  18. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/BQ/BQtyJR3ccqed7_s43p3BPj3IL18LWu1Fo1ZnzWC3qcc.cache +0 -0
  19. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Br/BrPxwjWI-O7aKFPR9IHgVHTz--0ve7HgO1xAHOSorxw.cache +1 -0
  20. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/D0/D0oQIDvZMxs7K1-bwAjXYaRTXNnKIB-vk4wDO3Mw3d4.cache +0 -0
  21. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Eg/Eg9dsjuoufOcT1ojGffj56kcFY4ujQHBl4iBxaHNywQ.cache +0 -0
  22. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/GN/GN7EpxkaiDaaLFjlptcIZ0BjIwz4SQv-J6Si_qHNtRQ.cache +0 -0
  23. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/GX/GXBrspUeZnBiwFADWDaNmSYt9wkavup0id1nDW51SwI.cache +3 -0
  24. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/J7/J7Oklw3hOELd9594tXtFa2w66T4_zffVHzJ8TfX9uwc.cache +1 -0
  25. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Lg/LgG4iMjI9pzWwqLjXp3JvB3xs8j14SUJzG4eRCYOWrU.cache +1 -0
  26. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/MJ/MJ2lcrIryOfzt2cWGx3d8LeFOJoLuIAlrL7SCdGMaik.cache +1 -0
  27. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Oa/OaJik9XhKBzY7AT4At2irZpA2GTHO3p4_hUa1ORSzjc.cache +1 -0
  28. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/PJ/PJU52zcAkrMbEOmlo13u_i04nf-PXPCL_i6_ybo2AYo.cache +0 -0
  29. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/VN/VNCapNKJLeponthNeFJhaBYs92UBT3P8PugENHP0474.cache +0 -0
  30. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/VO/VOqmZhoZgNGgBPBfKq2xsc37yyNBBqntTUWteHs1VVc.cache +1 -0
  31. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Vl/VlVHSjm74GkjWDuZlfcI6KAaQ9xjg8meWAssVwt-YMI.cache +1 -0
  32. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Vt/VtysXvEqJf4LwL6kuKUSWHZbeR_jKoYj_z1L99d5Yzk.cache +1 -0
  33. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/W1/W1I750hXtFauIXfdF_h8f0H6Eh9fPjn1nb3WDnJGJ_0.cache +0 -0
  34. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/W_/W_AqS_Ihb1uBTP5eubT7Ep7vc3CcoUzol5J0T4xQsL0.cache +1 -0
  35. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/Yc/YcfvUdqaxEInuhPH8QMPNyhWsGLwtIx76o-tR_VUc_0.cache +1 -0
  36. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/_S/_SiC-nT_xG9vCIPkHUmC7GfAGNufVJLYqHQ4vQLOjvs.cache +1 -0
  37. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/_m/_m7Yy9Dl3hfylyoF91XSCvlOZ3762vGWH_ZhkTvreMU.cache +0 -0
  38. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/ak/akBxy_qeJ5hlUAP5G80qm_ZsKBlpXViO9rGg95rWx8U.cache +0 -0
  39. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/b7/b7lBpkBxQaCxHBBRf-QF0CiQKnRE8kYGLUzgAPTjf_k.cache +0 -0
  40. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/c2/c2LxqcKRpYH4PIKJj0RIMbpQeONqcvmk8zRZ3qAd4no.cache +0 -0
  41. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/dp/dplQ3jBb_bBGoJ4xMRKxYbJR5YoZjuyamwFopJb07Xo.cache +3 -0
  42. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/eZ/eZWyKd8Y-LcqrovIoB-YJiklulQC0CGG0d22eCJcYuU.cache +1 -0
  43. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/em/emPaz2829mOOQZolLXyEoXP73X44t4p-YUUA763b_1k.cache +1 -0
  44. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/fk/fkliCI8v5fyy_CObCj5Va9hEnO4JqIPX6WBhUYUJS4k.cache +1 -0
  45. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/hk/hkWnysQ9aaUtcEVLGt9gkfzIPrFfFqnR1P4LlriYD40.cache +1 -0
  46. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/j3/j3F-bQu56g8H580zxIStr369Vt2DEbb0BQJ21ie2eoI.cache +0 -0
  47. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/jK/jK6-bONOghUmAYu3DkuJ2MLIlLa8P9kbTE3tc1wBheg.cache +1 -0
  48. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/jm/jmJh54mguyD0TmNGQ4ExIqEW4jR1jQeJcO5mhggpfMs.cache +0 -0
  49. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/jt/jtrPJEzuZbLsfLK4SZphEu2PPyopSCtRfXQwj2AyAZg.cache +0 -0
  50. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/kQ/kQZfXHFhuNUcLTvh4QzLL6fKDZc-8XkwCwT8eMIW8ns.cache +1 -0
  51. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/l_/l_tJ9WwBL9Q8XjxQN56nGuGtCrP7kGBvE8e76g8tRC0.cache +0 -0
  52. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/my/mybo3dsRj5MFU0orUFY47lfsYuIuBB_KL1Z4aNANxYI.cache +1 -0
  53. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/qo/qob9eyRuMnynEh3V1dqTC-rEE-j5mOlG7t6EamNVBFY.cache +3 -0
  54. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/rf/rfsxw1dZNQvrAvAmqFP8bFeBcVIAPuvqozFzw80eS-4.cache +0 -0
  55. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/rm/rmsobLUxsQY2_hRp-ygb9dlbdoHpFlV6FMPnhxqpA1k.cache +3 -0
  56. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/sm/sm0X5aOvu10an00TtKAEtdF3Wpi08DQrHKEe3XXNHtk.cache +1 -0
  57. data/test/dummy_activerecord/tmp/cache/assets/sprockets/v3.0/x_/x_ZYCJrtiH6rATOiHF1QuxobPhpt7IRQUwciwGdXOxo.cache +0 -0
  58. data/test/dummy_mongoid/config/initializers/maestrano.rb +7 -85
  59. data/test/tmp/app/controllers/maestrano/account/group_users_controller.rb +27 -0
  60. data/test/tmp/app/controllers/maestrano/account/groups_controller.rb +37 -0
  61. data/test/tmp/app/controllers/maestrano/auth/saml_controller.rb +57 -0
  62. data/test/tmp/config/initializers/maestrano.rb +7 -0
  63. data/test/tmp/config/routes.rb +60 -0
  64. metadata +99 -10
  65. data/app/controllers/maestrano/rails/metadata_controller.rb +0 -10
  66. data/test/controllers/metadata_controller_test.rb +0 -24
  67. data/test/tmp/app/models/monster.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87260e05e84bc26411b8506f75bcc95b3880917e
4
- data.tar.gz: 5d1d488f5681f851fea19dcd291c183ffd55c821
3
+ metadata.gz: f4b49bdb15b181380859f23803e3a71e8e6eb337
4
+ data.tar.gz: 0a18fb96c3100d317505114e8ff2c660b0fb788e
5
5
  SHA512:
6
- metadata.gz: acc1b8ddb1e53a91e1f15249b9114a19aa5a29f929773f076f7c72b9f2183f7cb51257c840684c5fb4441e0704f73ef37acf8aae273e6275227c2c18cf776dc4
7
- data.tar.gz: ef543baca016b0338aa079771750148623581dc3b5bf91b99d27304bf4494bf632f6960e51ad5473102d29132f6376a96ef3eba41901a019cace85086500a78b
6
+ metadata.gz: 30aa342a8e3372cb31d6ee74cd371de2a4ed4a744108f10bf6a25054e564ef1146e7d9db0fb95b98a7036fbb19df1cfad05a1e8e0223b5c052f86b78062788bc
7
+ data.tar.gz: 47781cfd2033777cd73e5730d88a0672e5d9ab340a7ef7810bfd7c5976bf0d76439087af3660956f735649275fac133afd11d26069aa02ab0dce385294b704e0
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ gem 'jquery-rails'
5
5
  gem 'haml-rails'
6
6
  gem 'mongoid', require: false
7
7
 
8
- gem 'maestrano', '1.0.0'
8
+ gem 'maestrano', '~> 1.0.0'
9
9
 
10
10
  group :development, :test do
11
11
  gem 'sqlite3', platforms: :ruby
data/Gemfile.lock CHANGED
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: git://github.com/jruby/activerecord-jdbc-adapter.git
3
- revision: 5468b6f404604e18d0286b9291d7287cdc394310
3
+ revision: ee68c1881a9b0ce59f5095cd1999c109bddf6167
4
4
  branch: rails-5
5
5
  specs:
6
6
 
@@ -42,26 +42,29 @@ GEM
42
42
  minitest (~> 5.1)
43
43
  thread_safe (~> 0.3, >= 0.3.4)
44
44
  tzinfo (~> 1.1)
45
- addressable (2.4.0)
46
- arel (6.0.3)
47
- bson (4.1.1)
45
+ addressable (2.5.0)
46
+ public_suffix (~> 2.0, >= 2.0.2)
47
+ arel (6.0.4)
48
+ bson (4.2.1)
48
49
  builder (3.2.2)
49
- concurrent-ruby (1.0.2)
50
+ concurrent-ruby (1.0.4)
50
51
  database_cleaner (1.5.3)
51
52
  descendants_tracker (0.0.4)
52
53
  thread_safe (~> 0.3, >= 0.3.1)
53
- domain_name (0.5.20161021)
54
+ domain_name (0.5.20161129)
54
55
  unf (>= 0.0.5, < 1.0.0)
55
56
  erubis (2.7.0)
56
57
  faraday (0.9.2)
57
58
  multipart-post (>= 1.2, < 3)
58
59
  git (1.3.0)
59
- github_api (0.14.5)
60
- addressable (~> 2.4.0)
61
- descendants_tracker (~> 0.0.4)
60
+ github_api (0.11.3)
61
+ addressable (~> 2.3)
62
+ descendants_tracker (~> 0.0.1)
62
63
  faraday (~> 0.8, < 0.10)
63
- hashie (>= 3.4)
64
- oauth2 (~> 1.0)
64
+ hashie (>= 1.2)
65
+ multi_json (>= 1.7.5, < 2.0)
66
+ nokogiri (~> 1.6.0)
67
+ oauth2
65
68
  globalid (0.3.7)
66
69
  activesupport (>= 4.1.0)
67
70
  haml (4.0.7)
@@ -84,17 +87,18 @@ GEM
84
87
  httparty (0.14.0)
85
88
  multi_xml (>= 0.5.2)
86
89
  i18n (0.7.0)
87
- jeweler (2.1.1)
90
+ jeweler (2.3.2)
88
91
  builder
89
92
  bundler (>= 1.0)
90
93
  git (>= 1.2.5)
91
- github_api
94
+ github_api (~> 0.11.0)
92
95
  highline (>= 1.6.15)
93
96
  nokogiri (>= 1.5.10)
97
+ psych (~> 2.2)
94
98
  rake
95
99
  rdoc
96
- semver
97
- jquery-rails (4.2.1)
100
+ semver2
101
+ jquery-rails (4.2.2)
98
102
  rails-dom-testing (>= 1, < 3)
99
103
  railties (>= 4.2.0)
100
104
  thor (>= 0.14, < 2.0)
@@ -104,7 +108,7 @@ GEM
104
108
  nokogiri (>= 1.5.9)
105
109
  macaddr (1.7.1)
106
110
  systemu (~> 2.6.2)
107
- maestrano (1.0.0)
111
+ maestrano (1.0.1)
108
112
  httparty (~> 0.14)
109
113
  json (~> 1.8)
110
114
  mime-types (~> 1.25)
@@ -116,32 +120,34 @@ GEM
116
120
  metaclass (0.0.4)
117
121
  mime-types (1.25.1)
118
122
  mini_portile2 (2.1.0)
119
- minitest (5.9.1)
123
+ minitest (5.10.1)
120
124
  mocha (1.2.1)
121
125
  metaclass (~> 0.0.1)
122
- mongo (2.3.0)
123
- bson (~> 4.1)
124
- mongoid (5.1.4)
126
+ mongo (2.4.1)
127
+ bson (>= 4.2.1, < 5.0.0)
128
+ mongoid (5.1.6)
125
129
  activemodel (~> 4.0)
126
130
  mongo (~> 2.1)
127
131
  origin (~> 2.2)
128
132
  tzinfo (>= 0.3.37)
129
133
  multi_json (1.12.1)
130
- multi_xml (0.5.5)
134
+ multi_xml (0.6.0)
131
135
  multipart-post (2.0.0)
132
136
  netrc (0.11.0)
133
137
  nokogiri (1.6.8.1)
134
138
  mini_portile2 (~> 2.1.0)
135
- oauth2 (1.2.0)
136
- faraday (>= 0.8, < 0.10)
139
+ oauth2 (1.3.0)
140
+ faraday (>= 0.8, < 0.11)
137
141
  jwt (~> 1.0)
138
142
  multi_json (~> 1.3)
139
143
  multi_xml (~> 0.5)
140
144
  rack (>= 1.2, < 3)
141
- origin (2.2.0)
145
+ origin (2.3.0)
142
146
  pg (0.19.0)
143
- power_assert (0.3.1)
144
- rack (1.6.4)
147
+ power_assert (0.4.1)
148
+ psych (2.2.2)
149
+ public_suffix (2.0.5)
150
+ rack (1.6.5)
145
151
  rack-test (0.6.3)
146
152
  rack (>= 1.0)
147
153
  rails (4.2.7.1)
@@ -157,9 +163,9 @@ GEM
157
163
  sprockets-rails
158
164
  rails-deprecated_sanitizer (1.0.3)
159
165
  activesupport (>= 4.2.0.alpha)
160
- rails-dom-testing (1.0.7)
166
+ rails-dom-testing (1.0.8)
161
167
  activesupport (>= 4.2.0.beta, < 5.0)
162
- nokogiri (~> 1.6.0)
168
+ nokogiri (~> 1.6)
163
169
  rails-deprecated_sanitizer (>= 1.0.1)
164
170
  rails-html-sanitizer (1.0.3)
165
171
  loofah (~> 2.0)
@@ -168,24 +174,23 @@ GEM
168
174
  activesupport (= 4.2.7.1)
169
175
  rake (>= 0.8.7)
170
176
  thor (>= 0.18.1, < 2.0)
171
- rake (11.3.0)
172
- rdoc (4.2.2)
173
- json (~> 1.4)
177
+ rake (12.0.0)
178
+ rdoc (5.0.0)
174
179
  rest-client (1.8.0)
175
180
  http-cookie (>= 1.0.2, < 2.0)
176
181
  mime-types (>= 1.16, < 3.0)
177
182
  netrc (~> 0.7)
178
183
  ruby_parser (3.8.3)
179
184
  sexp_processor (~> 4.1)
180
- semver (1.0.1)
185
+ semver2 (3.4.2)
181
186
  sexp_processor (4.7.0)
182
187
  shoulda (3.5.0)
183
188
  shoulda-context (~> 1.0, >= 1.0.1)
184
189
  shoulda-matchers (>= 1.4.1, < 3.0)
185
- shoulda-context (1.2.1)
190
+ shoulda-context (1.2.2)
186
191
  shoulda-matchers (2.8.0)
187
192
  activesupport (>= 3.0.0)
188
- sprockets (3.7.0)
193
+ sprockets (3.7.1)
189
194
  concurrent-ruby (~> 1.0)
190
195
  rack (> 1, < 3)
191
196
  sprockets-rails (3.2.0)
@@ -194,9 +199,9 @@ GEM
194
199
  sprockets (>= 3.0.0)
195
200
  sqlite3 (1.3.12)
196
201
  systemu (2.6.5)
197
- test-unit (3.2.1)
202
+ test-unit (3.2.3)
198
203
  power_assert
199
- thor (0.19.1)
204
+ thor (0.19.4)
200
205
  thread_safe (0.3.5)
201
206
  tilt (2.0.5)
202
207
  tzinfo (1.2.2)
@@ -218,7 +223,7 @@ DEPENDENCIES
218
223
  haml-rails
219
224
  jeweler
220
225
  jquery-rails
221
- maestrano (= 1.0.0)
226
+ maestrano (~> 1.0.0)
222
227
  mocha (~> 1.1)
223
228
  mongoid
224
229
  pg
@@ -228,4 +233,4 @@ DEPENDENCIES
228
233
  test-unit (~> 3)
229
234
 
230
235
  BUNDLED WITH
231
- 1.12.5
236
+ 1.13.7
data/README.md CHANGED
@@ -25,11 +25,8 @@ Maestrano Cloud Integration is currently in closed beta. Want to know more? Send
25
25
 
26
26
 
27
27
  ## Getting Setup
28
- Before integrating with us you will need an App ID and API Key. Maestrano Cloud Integration being still in closed beta you will need to contact us beforehand to gain production access.
29
-
30
- For testing purpose we provide an API Sandbox where you can freely obtain an App ID and API Key. The sandbox is great to test single sign-on and API integration (e.g: billing API).
31
-
32
- To get started just go to: http://api-sandbox.maestrano.io
28
+ To start the integration of your application with the Maestrano platform, you first need to register your application on our Developer Platform. You can find [more information here](https://maestrano.atlassian.net/wiki/x/NYA3Ag)
29
+ Once your application is registered, you will be provided with API keys that are used to configure your application on the different marketplaces powered by Maestrano.
33
30
 
34
31
  A **rails demo application** is also available: https://github.com/maestrano/demoapp-rails
35
32
 
@@ -53,7 +50,7 @@ After you install Maestrano and add it to your Gemfile, you need to run the gene
53
50
  rails generate maestrano:install
54
51
  ```
55
52
 
56
- The generator will install an initializer which describes ALL Maestrano's configuration options. You will need to take a look at it as this is where you set your API key. This configuration will also be used to automatically generate a '/maestrano/metadata' endpoint in your application that Maestrano will fetch automatically at regular intervals (or by hitting 'refresh metadata' in your cloud partner dashboard on maestrano.com).
53
+ The generator will install an initializer which describes Maestrano's configuration options.
57
54
 
58
55
  The generator also generates a SamlController for single sign-on that you will need to customize (see below) as well as the required routes.
59
56
 
@@ -279,6 +276,6 @@ So if you have any question or need help integrating with us just let us know at
279
276
 
280
277
  ## License
281
278
 
282
- MIT License. Copyright 2014 Maestrano Pty Ltd. https://maestrano.com
279
+ MIT License. Copyright 2017 Maestrano Pty Ltd. https://maestrano.com
283
280
 
284
281
  You are not granted rights or licenses to the trademarks of Maestrano.
@@ -1,140 +1,7 @@
1
- Maestrano.configure do |config|
2
-
3
- # ==> Environment configuration
4
- # The environment to connect to.
5
- # If set to 'production' then all Single Sign-On (SSO) and API requests
6
- # will be made to maestrano.com
7
- # If set to 'test' then requests will be made to api-sandbox.maestrano.io
8
- # The api-sandbox allows you to easily test integration scenarios.
9
- # More details on http://api-sandbox.maestrano.io
10
- #
11
- config.environment = 'test' # or 'production'
12
-
13
- # ==> Application host
14
- # This is your application host (e.g: my-app.com) which is ultimately
15
- # used to redirect users to the right SAML url during SSO handshake.
16
- #
17
- config.app.host = (config.environment == 'production' ? 'https://my-app.com' : 'http://localhost:3000')
18
-
19
- # ==> App ID & API key
20
- # Your application App ID and API key which you can retrieve on http://maestrano.com
21
- # via your cloud partner dashboard.
22
- # For testing you can retrieve/generate an api.id and api.key from the API Sandbox directly
23
- # on http://api-sandbox.maestrano.io
24
- #
25
- config.api.id = (config.environment == 'production' ? 'prod_app_id' : 'sandbox_app_id')
26
- config.api.key = (config.environment == 'production' ? 'prod_api_key' : 'sandbox_api_key')
27
-
28
- # ==> Single Sign-On activation
29
- # Enable/Disable single sign-on. When troubleshooting authentication issues
30
- # you might want to disable SSO temporarily
31
- #
32
- # config.sso.enabled = true
33
-
34
- # ==> Single Sign-On Identity Manager
35
- # By default we consider that the domain managing user identification
36
- # is the same as your application host (see above config.app.host parameter)
37
- # If you have a dedicated domain managing user identification and therefore
38
- # responsible for the single sign-on handshake (e.g: https://idp.my-app.com)
39
- # then you can specify it below
40
- #
41
- # config.sso.idm = (config.environment == 'production' ? 'https://idp.my-app.com' : 'http://localhost:3000')
42
-
43
- # ==> SSO Initialization endpoint
44
- # This is your application path to the SAML endpoint that allows users to
45
- # initialize SSO authentication. Upon reaching this endpoint users your
46
- # application will automatically create a SAML request and redirect the user
47
- # to Maestrano. Maestrano will then authenticate and authorize the user. Upon
48
- # authorization the user gets redirected to your application consumer endpoint
49
- # (see below) for initial setup and/or login.
50
- #
51
- # The controller for this path is automatically
52
- # generated when you run 'rake maestrano:install' and is available at
53
- # <rails_root>/app/controllers/maestrano/auth/saml.rb
54
- #
55
- config.sso.init_path = '/maestrano/auth/saml/init/default'
56
-
57
- # ==> SSO Consumer endpoint
58
- # This is your application path to the SAML endpoint that allows users to
59
- # finalize SSO authentication. During the 'consume' action your application
60
- # sets users (and associated group) up and/or log them in.
61
- #
62
- # The controller for this path is automatically
63
- # generated when you run 'rake maestrano:install' and is available at
64
- # <rails_root>/app/controllers/maestrano/auth/saml.rb
65
- #
66
- config.sso.consume_path = '/maestrano/auth/saml/consume/default'
67
-
68
- # ==> Single Logout activation
69
- # Enable/Disable single logout. When troubleshooting authentication issues
70
- # you might want to disable SLO temporarily.
71
- # If set to false then Maestrano::SSO::Session#valid? - which should be
72
- # used in a controller before filter to check user session - always return true
73
- #
74
- # config.sso.slo_enabled = true
75
-
76
- # ==> SSO User creation mode
77
- # !IMPORTANT
78
- # On Maestrano users can take several "instances" of your service. You can consider
79
- # each "instance" as 1) a billing entity and 2) a collaboration group (this is
80
- # equivalent to a 'customer account' in a commercial world). When users login to
81
- # your application via single sign-on they actually login via a specific group which
82
- # is then supposed to determine which data they have access to inside your application.
83
- #
84
- # E.g: John and Jack are part of group 1. They should see the same data when they login to
85
- # your application (employee info, analytics, sales etc..). John is also part of group 2
86
- # but not Jack. Therefore only John should be able to see the data belonging to group 2.
87
- #
88
- # In most application this is done via collaboration/sharing/permission groups which is
89
- # why a group is required to be created when a new user logs in via a new group (and
90
- # also for billing purpose - you charge a group, not a user directly).
91
- #
92
- # == mode: 'real'
93
- # In an ideal world a user should be able to belong to several groups in your application.
94
- # In this case you would set the 'sso.creation_mode' to 'real' which means that the uid
95
- # and email we pass to you are the actual user email and maestrano universal id.
96
- #
97
- # == mode: 'virtual'
98
- # Now let's say that due to technical constraints your application cannot authorize a user
99
- # to belong to several groups. Well next time John logs in via a different group there will
100
- # be a problem: the user already exists (based on uid or email) and cannot be assigned
101
- # to a second group. To fix this you can set the 'sso.creation_mode' to 'virtual'. In this
102
- # mode users get assigned a truly unique uid and email across groups. So next time John logs
103
- # in a whole new user account can be created for him without any validation problem. In this
104
- # mode the email we assign to him looks like "usr-sdf54.cld-45aa2@mail.maestrano.com". But don't
105
- # worry we take care of forwarding any email you would send to this address
106
- #
107
- # config.sso.creation_mode = 'real' # or 'virtual'
108
-
109
- # ==> Account Webhooks
110
- # Single sign on has been setup into your app and Maestrano users are now able
111
- # to use your service. Great! Wait what happens when a business (group) decides to
112
- # stop using your service? Also what happens when a user gets removed from a business?
113
- # Well the endpoints below are for Maestrano to be able to notify you of such
114
- # events.
115
- #
116
- # Even if the routes look restful we issue only issue DELETE requests for the moment
117
- # to notify you of any service cancellation (group deletion) or any user being
118
- # removed from a group.
119
- #
120
- # The controllers for these hooks path are automatically generated when
121
- # you run 'rake maestrano:install' and is available under
122
- # <rails_root>/app/controllers/maestrano/account/
123
- #
124
- config.webhook.account.groups_path = '/maestrano/account/groups/:id/default'
125
- config.webhook.account.group_users_path = '/maestrano/account/groups/:group_id/users/:id/default'
1
+ if Rails.env.test?
2
+ Maestrano.configure do |config|
3
+ config.environment = 'local'
4
+ end
5
+ else
6
+ Maestrano.auto_configure
126
7
  end
127
-
128
- # Example of multi-tenant configuration
129
- Maestrano['other-tenant'].configure do |config|
130
- config.environment = 'test'
131
- config.app.host = (config.environment == 'production' ? 'https://my-app.com' : 'http://localhost:3000')
132
-
133
- config.api.id = (config.environment == 'production' ? 'prod_app_id' : 'sandbox_app_id')
134
- config.api.key = (config.environment == 'production' ? 'prod_api_key' : 'sandbox_api_key')
135
-
136
- config.sso.init_path = '/maestrano/auth/saml/init/other-tenant'
137
- config.sso.consume_path = '/maestrano/auth/saml/consume/other-tenant'
138
- config.webhook.account.groups_path = '/maestrano/account/groups/:id/other-tenant'
139
- config.webhook.account.group_users_path = '/maestrano/account/groups/:group_id/users/:id/other-tenant'
140
- end
@@ -2,14 +2,6 @@ module ActionDispatch::Routing
2
2
  class Mapper
3
3
  def maestrano_routes
4
4
  namespace :maestrano do
5
- scope module: :rails do
6
- # GET /maestrano/metadata
7
- get '/metadata', to: 'metadata#index'
8
-
9
- # GET /maestrano/metadata/mytenant
10
- get '/metadata/:tenant', to: 'metadata#index'
11
- end
12
-
13
5
  namespace :auth do
14
6
  resources :saml, only:[] do
15
7
  # GET /maestrano/auth/saml/init
@@ -42,4 +34,4 @@ module ActionDispatch::Routing
42
34
  end
43
35
  end
44
36
  end
45
- end
37
+ end