onelogin 1.4.1 → 3.0.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (436) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +7 -4
  3. data/README.md +245 -423
  4. data/Rakefile +7 -3
  5. data/docs/Action.md +26 -0
  6. data/docs/ActivateFactorRequest.md +24 -0
  7. data/docs/AddAccessTokenClaimRequest.md +22 -0
  8. data/docs/AddClientAppRequest.md +20 -0
  9. data/docs/AddRoleUsers200ResponseInner.md +18 -0
  10. data/docs/AddScopeRequest.md +20 -0
  11. data/docs/AuthMethod.md +15 -0
  12. data/docs/AuthServerConfiguration.md +24 -0
  13. data/docs/ClientApp.md +20 -0
  14. data/docs/Condition.md +22 -0
  15. data/docs/Connector.md +26 -0
  16. data/docs/CreateAuthorizationServerRequest.md +22 -0
  17. data/docs/CreateEnvironmentVariableRequest.md +20 -0
  18. data/docs/CreateRoles201ResponseInner.md +18 -0
  19. data/docs/DefaultApi.md +6812 -0
  20. data/docs/Device.md +26 -0
  21. data/docs/EnrollFactorRequest.md +28 -0
  22. data/docs/Envvar.md +24 -0
  23. data/docs/ErrorStatus.md +22 -0
  24. data/docs/ErrorStatusErrorsInner.md +20 -0
  25. data/docs/FactorInner.md +32 -0
  26. data/docs/FactorInnerFactorData.md +20 -0
  27. data/docs/GenerateMfaToken200Response.md +24 -0
  28. data/docs/GenerateMfaToken422Response.md +24 -0
  29. data/docs/GenerateMfaToken422ResponseDetails.md +18 -0
  30. data/docs/GenerateMfaTokenRequest.md +20 -0
  31. data/docs/GenerateSamlAssertionRequest.md +26 -0
  32. data/docs/GenerateToken200Response.md +28 -0
  33. data/docs/GenerateToken400Response.md +18 -0
  34. data/docs/GenerateTokenRequest.md +18 -0
  35. data/docs/GetAuthorizationServer200Response.md +24 -0
  36. data/docs/GetAvailableFactors200ResponseInner.md +22 -0
  37. data/docs/GetClientApps200ResponseInner.md +24 -0
  38. data/docs/GetClientApps200ResponseInnerScopesInner.md +22 -0
  39. data/docs/GetRateLimit200Response.md +20 -0
  40. data/docs/GetRateLimit200ResponseData.md +22 -0
  41. data/docs/GetRiskScore200Response.md +20 -0
  42. data/docs/GetRiskScore400Response.md +18 -0
  43. data/docs/GetRiskScoreRequest.md +30 -0
  44. data/docs/GetScoreInsights200Response.md +20 -0
  45. data/docs/GetScoreInsights200ResponseScores.md +26 -0
  46. data/docs/GetUserApps200ResponseInner.md +32 -0
  47. data/docs/Hook.md +46 -0
  48. data/docs/HookConditionsInner.md +22 -0
  49. data/docs/HookOptions.md +22 -0
  50. data/docs/HookStatus.md +20 -0
  51. data/docs/Id.md +18 -0
  52. data/docs/ListAccessTokenClaims200ResponseInner.md +34 -0
  53. data/docs/ListActions200ResponseInner.md +20 -0
  54. data/docs/ListAppUsers200ResponseInner.md +26 -0
  55. data/docs/ListAuthorizationServers200ResponseInner.md +24 -0
  56. data/docs/ListAuthorizationServers200ResponseInnerConfiguration.md +20 -0
  57. data/docs/ListConditionOperators200ResponseInner.md +20 -0
  58. data/docs/ListConditionValues200ResponseInner.md +20 -0
  59. data/docs/ListConditions200ResponseInner.md +20 -0
  60. data/docs/ListMappingConditionOperators200ResponseInner.md +20 -0
  61. data/docs/ListMappingConditions200ResponseInner.md +20 -0
  62. data/docs/ListScopes200ResponseInner.md +22 -0
  63. data/docs/Log.md +24 -0
  64. data/docs/Mapping.md +30 -0
  65. data/docs/Registration.md +22 -0
  66. data/docs/RemoveRoleUsersRequest.md +18 -0
  67. data/docs/RevokeTokenRequest.md +18 -0
  68. data/docs/RiskDevice.md +18 -0
  69. data/docs/RiskRule.md +30 -0
  70. data/docs/RiskUser.md +22 -0
  71. data/docs/Role.md +26 -0
  72. data/docs/Rule.md +30 -0
  73. data/docs/RuleId.md +18 -0
  74. data/docs/Schema.md +56 -0
  75. data/docs/Schema1.md +28 -0
  76. data/docs/Schema1AddedBy.md +20 -0
  77. data/docs/SchemaProvisioning.md +18 -0
  78. data/docs/Session.md +18 -0
  79. data/docs/SetRoleApps200ResponseInner.md +18 -0
  80. data/docs/Source.md +20 -0
  81. data/docs/Status.md +24 -0
  82. data/docs/Status1.md +22 -0
  83. data/docs/Status2.md +18 -0
  84. data/docs/Status2Status.md +24 -0
  85. data/docs/TrackEventRequest.md +34 -0
  86. data/docs/UpdateAuthorizationServer400Response.md +24 -0
  87. data/docs/UpdateClientAppRequest.md +18 -0
  88. data/docs/UpdateEnvironmentVariableRequest.md +18 -0
  89. data/docs/UpdateRole200Response.md +18 -0
  90. data/docs/User.md +90 -0
  91. data/docs/VerifyEnrollmentRequest.md +18 -0
  92. data/docs/VerifyFactorRequest.md +20 -0
  93. data/docs/VerifyFactorSaml200Response.md +20 -0
  94. data/docs/VerifyFactorSamlRequest.md +26 -0
  95. data/docs/VerifyFactorVoice200ResponseInner.md +22 -0
  96. data/git_push.sh +57 -0
  97. data/lib/onelogin/api/default_api.rb +7334 -0
  98. data/lib/onelogin/api_client.rb +391 -0
  99. data/lib/onelogin/api_error.rb +57 -0
  100. data/lib/onelogin/configuration.rb +282 -0
  101. data/lib/onelogin/models/action.rb +262 -0
  102. data/lib/onelogin/models/activate_factor_request.rb +250 -0
  103. data/lib/onelogin/models/add_access_token_claim_request.rb +237 -0
  104. data/lib/onelogin/models/add_client_app_request.rb +230 -0
  105. data/lib/onelogin/models/add_role_users200_response_inner.rb +219 -0
  106. data/lib/onelogin/models/add_scope_request.rb +228 -0
  107. data/lib/onelogin/models/auth_method.rb +43 -0
  108. data/lib/onelogin/models/auth_server_configuration.rb +248 -0
  109. data/lib/onelogin/models/client_app.rb +228 -0
  110. data/lib/onelogin/models/condition.rb +240 -0
  111. data/lib/onelogin/models/connector.rb +259 -0
  112. data/lib/onelogin/models/create_authorization_server_request.rb +237 -0
  113. data/lib/onelogin/models/create_environment_variable_request.rb +240 -0
  114. data/lib/onelogin/models/create_roles201_response_inner.rb +219 -0
  115. data/lib/onelogin/models/device.rb +255 -0
  116. data/lib/onelogin/models/enroll_factor_request.rb +280 -0
  117. data/lib/onelogin/models/envvar.rb +250 -0
  118. data/lib/onelogin/models/error_status.rb +239 -0
  119. data/lib/onelogin/models/error_status_errors_inner.rb +230 -0
  120. data/lib/onelogin/models/factor_inner.rb +323 -0
  121. data/lib/onelogin/models/factor_inner_factor_data.rb +231 -0
  122. data/lib/onelogin/models/generate_mfa_token200_response.rb +250 -0
  123. data/lib/onelogin/models/generate_mfa_token422_response.rb +246 -0
  124. data/lib/onelogin/models/generate_mfa_token422_response_details.rb +221 -0
  125. data/lib/onelogin/models/generate_mfa_token_request.rb +230 -0
  126. data/lib/onelogin/models/generate_saml_assertion_request.rb +280 -0
  127. data/lib/onelogin/models/generate_token200_response.rb +264 -0
  128. data/lib/onelogin/models/generate_token400_response.rb +219 -0
  129. data/lib/onelogin/models/generate_token_request.rb +253 -0
  130. data/lib/onelogin/models/get_authorization_server200_response.rb +246 -0
  131. data/lib/onelogin/models/get_available_factors200_response_inner.rb +240 -0
  132. data/lib/onelogin/models/get_client_apps200_response_inner.rb +248 -0
  133. data/lib/onelogin/models/get_client_apps200_response_inner_scopes_inner.rb +237 -0
  134. data/lib/onelogin/models/get_rate_limit200_response.rb +228 -0
  135. data/lib/onelogin/models/get_rate_limit200_response_data.rb +237 -0
  136. data/lib/onelogin/models/get_risk_score200_response.rb +256 -0
  137. data/lib/onelogin/models/get_risk_score400_response.rb +221 -0
  138. data/lib/onelogin/models/get_risk_score_request.rb +291 -0
  139. data/lib/onelogin/models/get_score_insights200_response.rb +228 -0
  140. data/lib/onelogin/models/get_score_insights200_response_scores.rb +255 -0
  141. data/lib/onelogin/models/get_user_apps200_response_inner.rb +335 -0
  142. data/lib/onelogin/models/hook.rb +462 -0
  143. data/lib/onelogin/models/hook_conditions_inner.rb +237 -0
  144. data/lib/onelogin/models/hook_options.rb +238 -0
  145. data/lib/onelogin/models/hook_status.rb +228 -0
  146. data/lib/onelogin/models/id.rb +219 -0
  147. data/lib/onelogin/models/list_access_token_claims200_response_inner.rb +293 -0
  148. data/lib/onelogin/models/list_actions200_response_inner.rb +230 -0
  149. data/lib/onelogin/models/list_app_users200_response_inner.rb +255 -0
  150. data/lib/onelogin/models/list_authorization_servers200_response_inner.rb +246 -0
  151. data/lib/onelogin/models/list_authorization_servers200_response_inner_configuration.rb +230 -0
  152. data/lib/onelogin/models/list_condition_operators200_response_inner.rb +230 -0
  153. data/lib/onelogin/models/list_condition_values200_response_inner.rb +228 -0
  154. data/lib/onelogin/models/list_conditions200_response_inner.rb +230 -0
  155. data/lib/onelogin/models/list_mapping_condition_operators200_response_inner.rb +230 -0
  156. data/lib/onelogin/models/list_mapping_conditions200_response_inner.rb +230 -0
  157. data/lib/onelogin/models/list_scopes200_response_inner.rb +237 -0
  158. data/lib/onelogin/models/log.rb +248 -0
  159. data/lib/onelogin/models/mapping.rb +342 -0
  160. data/lib/onelogin/models/registration.rb +274 -0
  161. data/lib/onelogin/models/remove_role_users_request.rb +221 -0
  162. data/lib/onelogin/models/revoke_token_request.rb +219 -0
  163. data/lib/onelogin/models/risk_device.rb +221 -0
  164. data/lib/onelogin/models/risk_rule.rb +325 -0
  165. data/lib/onelogin/models/risk_user.rb +248 -0
  166. data/lib/onelogin/models/role.rb +266 -0
  167. data/lib/onelogin/models/rule.rb +317 -0
  168. data/lib/onelogin/models/rule_id.rb +219 -0
  169. data/lib/onelogin/models/schema.rb +441 -0
  170. data/lib/onelogin/models/schema1.rb +265 -0
  171. data/lib/onelogin/models/schema1_added_by.rb +228 -0
  172. data/lib/onelogin/models/schema_provisioning.rb +220 -0
  173. data/lib/onelogin/models/session.rb +221 -0
  174. data/lib/onelogin/models/set_role_apps200_response_inner.rb +220 -0
  175. data/lib/onelogin/models/source.rb +230 -0
  176. data/lib/onelogin/models/status.rb +246 -0
  177. data/lib/onelogin/models/status1.rb +237 -0
  178. data/lib/onelogin/models/status2.rb +219 -0
  179. data/lib/onelogin/models/status2_status.rb +246 -0
  180. data/lib/onelogin/models/track_event_request.rb +316 -0
  181. data/lib/onelogin/models/update_authorization_server400_response.rb +246 -0
  182. data/lib/onelogin/models/update_client_app_request.rb +221 -0
  183. data/lib/onelogin/models/update_environment_variable_request.rb +225 -0
  184. data/lib/onelogin/models/update_role200_response.rb +219 -0
  185. data/lib/onelogin/models/user.rb +615 -0
  186. data/lib/onelogin/models/verify_enrollment_request.rb +219 -0
  187. data/lib/onelogin/models/verify_factor_request.rb +230 -0
  188. data/lib/onelogin/models/verify_factor_saml200_response.rb +230 -0
  189. data/lib/onelogin/models/verify_factor_saml_request.rb +275 -0
  190. data/lib/onelogin/models/verify_factor_voice200_response_inner.rb +271 -0
  191. data/lib/onelogin/version.rb +13 -1
  192. data/lib/onelogin.rb +130 -1
  193. data/onelogin.gemspec +36 -43
  194. data/spec/api/default_api_spec.rb +1259 -0
  195. data/spec/api_client_spec.rb +226 -0
  196. data/spec/configuration_spec.rb +42 -0
  197. data/spec/models/action_spec.rb +58 -0
  198. data/spec/models/activate_factor_request_spec.rb +52 -0
  199. data/spec/models/add_access_token_claim_request_spec.rb +46 -0
  200. data/spec/models/add_client_app_request_spec.rb +40 -0
  201. data/spec/models/add_role_users200_response_inner_spec.rb +34 -0
  202. data/spec/models/add_scope_request_spec.rb +40 -0
  203. data/spec/models/auth_method_spec.rb +28 -0
  204. data/spec/models/auth_server_configuration_spec.rb +52 -0
  205. data/spec/models/client_app_spec.rb +40 -0
  206. data/spec/models/condition_spec.rb +46 -0
  207. data/spec/models/connector_spec.rb +58 -0
  208. data/spec/models/create_authorization_server_request_spec.rb +46 -0
  209. data/spec/models/create_environment_variable_request_spec.rb +40 -0
  210. data/spec/models/create_roles201_response_inner_spec.rb +34 -0
  211. data/spec/models/device_spec.rb +58 -0
  212. data/spec/models/enroll_factor_request_spec.rb +64 -0
  213. data/spec/models/envvar_spec.rb +52 -0
  214. data/spec/models/error_status_errors_inner_spec.rb +40 -0
  215. data/spec/models/error_status_spec.rb +46 -0
  216. data/spec/models/factor_inner_factor_data_spec.rb +40 -0
  217. data/spec/models/factor_inner_spec.rb +80 -0
  218. data/spec/models/generate_mfa_token200_response_spec.rb +52 -0
  219. data/spec/models/generate_mfa_token422_response_details_spec.rb +34 -0
  220. data/spec/models/generate_mfa_token422_response_spec.rb +52 -0
  221. data/spec/models/generate_mfa_token_request_spec.rb +40 -0
  222. data/spec/models/generate_saml_assertion_request_spec.rb +58 -0
  223. data/spec/models/generate_token200_response_spec.rb +64 -0
  224. data/spec/models/generate_token400_response_spec.rb +34 -0
  225. data/spec/models/generate_token_request_spec.rb +38 -0
  226. data/spec/models/get_authorization_server200_response_spec.rb +52 -0
  227. data/spec/models/get_available_factors200_response_inner_spec.rb +46 -0
  228. data/spec/models/get_client_apps200_response_inner_scopes_inner_spec.rb +46 -0
  229. data/spec/models/get_client_apps200_response_inner_spec.rb +52 -0
  230. data/spec/models/get_rate_limit200_response_data_spec.rb +46 -0
  231. data/spec/models/get_rate_limit200_response_spec.rb +40 -0
  232. data/spec/models/get_risk_score200_response_spec.rb +40 -0
  233. data/spec/models/get_risk_score400_response_spec.rb +34 -0
  234. data/spec/models/get_risk_score_request_spec.rb +70 -0
  235. data/spec/models/get_score_insights200_response_scores_spec.rb +58 -0
  236. data/spec/models/get_score_insights200_response_spec.rb +40 -0
  237. data/spec/models/get_user_apps200_response_inner_spec.rb +84 -0
  238. data/spec/models/hook_conditions_inner_spec.rb +46 -0
  239. data/spec/models/hook_options_spec.rb +46 -0
  240. data/spec/models/hook_spec.rb +122 -0
  241. data/spec/models/hook_status_spec.rb +40 -0
  242. data/spec/models/id_spec.rb +34 -0
  243. data/spec/models/list_access_token_claims200_response_inner_spec.rb +82 -0
  244. data/spec/models/list_actions200_response_inner_spec.rb +40 -0
  245. data/spec/models/list_app_users200_response_inner_spec.rb +58 -0
  246. data/spec/models/list_authorization_servers200_response_inner_configuration_spec.rb +40 -0
  247. data/spec/models/list_authorization_servers200_response_inner_spec.rb +52 -0
  248. data/spec/models/list_condition_operators200_response_inner_spec.rb +40 -0
  249. data/spec/models/list_condition_values200_response_inner_spec.rb +40 -0
  250. data/spec/models/list_conditions200_response_inner_spec.rb +40 -0
  251. data/spec/models/list_mapping_condition_operators200_response_inner_spec.rb +40 -0
  252. data/spec/models/list_mapping_conditions200_response_inner_spec.rb +40 -0
  253. data/spec/models/list_scopes200_response_inner_spec.rb +46 -0
  254. data/spec/models/log_spec.rb +52 -0
  255. data/spec/models/mapping_spec.rb +74 -0
  256. data/spec/models/registration_spec.rb +50 -0
  257. data/spec/models/remove_role_users_request_spec.rb +34 -0
  258. data/spec/models/revoke_token_request_spec.rb +34 -0
  259. data/spec/models/risk_device_spec.rb +34 -0
  260. data/spec/models/risk_rule_spec.rb +78 -0
  261. data/spec/models/risk_user_spec.rb +46 -0
  262. data/spec/models/role_spec.rb +58 -0
  263. data/spec/models/rule_id_spec.rb +34 -0
  264. data/spec/models/rule_spec.rb +74 -0
  265. data/spec/models/schema1_added_by_spec.rb +40 -0
  266. data/spec/models/schema1_spec.rb +64 -0
  267. data/spec/models/schema_provisioning_spec.rb +34 -0
  268. data/spec/models/schema_spec.rb +152 -0
  269. data/spec/models/session_spec.rb +34 -0
  270. data/spec/models/set_role_apps200_response_inner_spec.rb +34 -0
  271. data/spec/models/source_spec.rb +40 -0
  272. data/spec/models/status1_spec.rb +46 -0
  273. data/spec/models/status2_spec.rb +34 -0
  274. data/spec/models/status2_status_spec.rb +52 -0
  275. data/spec/models/status_spec.rb +52 -0
  276. data/spec/models/track_event_request_spec.rb +82 -0
  277. data/spec/models/update_authorization_server400_response_spec.rb +52 -0
  278. data/spec/models/update_client_app_request_spec.rb +34 -0
  279. data/spec/models/update_environment_variable_request_spec.rb +34 -0
  280. data/spec/models/update_role200_response_spec.rb +34 -0
  281. data/spec/models/user_spec.rb +258 -0
  282. data/spec/models/verify_enrollment_request_spec.rb +34 -0
  283. data/spec/models/verify_factor_request_spec.rb +40 -0
  284. data/spec/models/verify_factor_saml200_response_spec.rb +40 -0
  285. data/spec/models/verify_factor_saml_request_spec.rb +58 -0
  286. data/spec/models/verify_factor_voice200_response_inner_spec.rb +50 -0
  287. data/spec/spec_helper.rb +111 -0
  288. metadata +402 -210
  289. data/.gitignore +0 -12
  290. data/.travis.yml +0 -6
  291. data/bin/console +0 -14
  292. data/bin/setup +0 -6
  293. data/examples/Gemfile +0 -3
  294. data/examples/Gemfile.lock +0 -21
  295. data/examples/README.md +0 -19
  296. data/examples/all-users-to-csv.rb +0 -48
  297. data/examples/create-user.rb +0 -16
  298. data/examples/events-to-csv.rb +0 -93
  299. data/examples/last-app-user-login-to-csv.rb +0 -72
  300. data/examples/list-users.rb +0 -15
  301. data/examples/rails-custom-login-page/.gitignore +0 -45
  302. data/examples/rails-custom-login-page/.ruby-version +0 -1
  303. data/examples/rails-custom-login-page/Gemfile +0 -57
  304. data/examples/rails-custom-login-page/Gemfile.lock +0 -208
  305. data/examples/rails-custom-login-page/README.md +0 -105
  306. data/examples/rails-custom-login-page/Rakefile +0 -6
  307. data/examples/rails-custom-login-page/app/assets/config/manifest.js +0 -3
  308. data/examples/rails-custom-login-page/app/assets/images/.keep +0 -0
  309. data/examples/rails-custom-login-page/app/assets/javascripts/application.js +0 -18
  310. data/examples/rails-custom-login-page/app/assets/javascripts/cable.js +0 -13
  311. data/examples/rails-custom-login-page/app/assets/javascripts/channels/.keep +0 -0
  312. data/examples/rails-custom-login-page/app/assets/javascripts/dashboard.coffee +0 -3
  313. data/examples/rails-custom-login-page/app/assets/javascripts/home.coffee +0 -3
  314. data/examples/rails-custom-login-page/app/assets/javascripts/sessions.coffee +0 -3
  315. data/examples/rails-custom-login-page/app/assets/stylesheets/application.css +0 -15
  316. data/examples/rails-custom-login-page/app/assets/stylesheets/dashboard.scss +0 -3
  317. data/examples/rails-custom-login-page/app/assets/stylesheets/home.scss +0 -3
  318. data/examples/rails-custom-login-page/app/assets/stylesheets/sessions.scss +0 -3
  319. data/examples/rails-custom-login-page/app/channels/application_cable/channel.rb +0 -4
  320. data/examples/rails-custom-login-page/app/channels/application_cable/connection.rb +0 -4
  321. data/examples/rails-custom-login-page/app/controllers/application_controller.rb +0 -23
  322. data/examples/rails-custom-login-page/app/controllers/concerns/.keep +0 -0
  323. data/examples/rails-custom-login-page/app/controllers/dashboard_controller.rb +0 -10
  324. data/examples/rails-custom-login-page/app/controllers/home_controller.rb +0 -4
  325. data/examples/rails-custom-login-page/app/controllers/sessions_controller.rb +0 -46
  326. data/examples/rails-custom-login-page/app/controllers/users_controller.rb +0 -116
  327. data/examples/rails-custom-login-page/app/helpers/application_helper.rb +0 -2
  328. data/examples/rails-custom-login-page/app/helpers/dashboard_helper.rb +0 -28
  329. data/examples/rails-custom-login-page/app/helpers/home_helper.rb +0 -2
  330. data/examples/rails-custom-login-page/app/helpers/sessions_helper.rb +0 -87
  331. data/examples/rails-custom-login-page/app/helpers/users_helper.rb +0 -3
  332. data/examples/rails-custom-login-page/app/jobs/application_job.rb +0 -2
  333. data/examples/rails-custom-login-page/app/mailers/application_mailer.rb +0 -4
  334. data/examples/rails-custom-login-page/app/models/application_record.rb +0 -3
  335. data/examples/rails-custom-login-page/app/models/concerns/.keep +0 -0
  336. data/examples/rails-custom-login-page/app/views/dashboard/index.html.erb +0 -50
  337. data/examples/rails-custom-login-page/app/views/home/index.html.erb +0 -209
  338. data/examples/rails-custom-login-page/app/views/layouts/application.html.erb +0 -31
  339. data/examples/rails-custom-login-page/app/views/layouts/mailer.html.erb +0 -13
  340. data/examples/rails-custom-login-page/app/views/layouts/mailer.text.erb +0 -1
  341. data/examples/rails-custom-login-page/app/views/users/_form.html.erb +0 -1
  342. data/examples/rails-custom-login-page/app/views/users/_user.json.jbuilder +0 -2
  343. data/examples/rails-custom-login-page/app/views/users/edit.html.erb +0 -27
  344. data/examples/rails-custom-login-page/app/views/users/index.html.erb +0 -30
  345. data/examples/rails-custom-login-page/app/views/users/index.json.jbuilder +0 -1
  346. data/examples/rails-custom-login-page/app/views/users/new.html.erb +0 -60
  347. data/examples/rails-custom-login-page/app/views/users/onboard.html.erb +0 -54
  348. data/examples/rails-custom-login-page/app/views/users/show.html.erb +0 -14
  349. data/examples/rails-custom-login-page/app/views/users/show.json.jbuilder +0 -1
  350. data/examples/rails-custom-login-page/bin/bundle +0 -3
  351. data/examples/rails-custom-login-page/bin/rails +0 -9
  352. data/examples/rails-custom-login-page/bin/rake +0 -9
  353. data/examples/rails-custom-login-page/bin/setup +0 -38
  354. data/examples/rails-custom-login-page/bin/spring +0 -17
  355. data/examples/rails-custom-login-page/bin/update +0 -29
  356. data/examples/rails-custom-login-page/bin/yarn +0 -11
  357. data/examples/rails-custom-login-page/config/application.rb +0 -18
  358. data/examples/rails-custom-login-page/config/boot.rb +0 -3
  359. data/examples/rails-custom-login-page/config/cable.yml +0 -10
  360. data/examples/rails-custom-login-page/config/database.yml +0 -25
  361. data/examples/rails-custom-login-page/config/environment.rb +0 -5
  362. data/examples/rails-custom-login-page/config/environments/development.rb +0 -54
  363. data/examples/rails-custom-login-page/config/environments/production.rb +0 -91
  364. data/examples/rails-custom-login-page/config/environments/test.rb +0 -42
  365. data/examples/rails-custom-login-page/config/initializers/application_controller_renderer.rb +0 -8
  366. data/examples/rails-custom-login-page/config/initializers/assets.rb +0 -14
  367. data/examples/rails-custom-login-page/config/initializers/backtrace_silencers.rb +0 -7
  368. data/examples/rails-custom-login-page/config/initializers/cookies_serializer.rb +0 -5
  369. data/examples/rails-custom-login-page/config/initializers/filter_parameter_logging.rb +0 -4
  370. data/examples/rails-custom-login-page/config/initializers/inflections.rb +0 -16
  371. data/examples/rails-custom-login-page/config/initializers/mime_types.rb +0 -4
  372. data/examples/rails-custom-login-page/config/initializers/onelogin.rb +0 -4
  373. data/examples/rails-custom-login-page/config/initializers/wrap_parameters.rb +0 -14
  374. data/examples/rails-custom-login-page/config/locales/en.yml +0 -33
  375. data/examples/rails-custom-login-page/config/puma.rb +0 -56
  376. data/examples/rails-custom-login-page/config/routes.rb +0 -23
  377. data/examples/rails-custom-login-page/config/secrets.yml.sample +0 -36
  378. data/examples/rails-custom-login-page/config/spring.rb +0 -6
  379. data/examples/rails-custom-login-page/config.ru +0 -5
  380. data/examples/rails-custom-login-page/db/seeds.rb +0 -7
  381. data/examples/rails-custom-login-page/lib/assets/.keep +0 -0
  382. data/examples/rails-custom-login-page/lib/tasks/.keep +0 -0
  383. data/examples/rails-custom-login-page/package.json +0 -5
  384. data/examples/rails-custom-login-page/public/404.html +0 -67
  385. data/examples/rails-custom-login-page/public/422.html +0 -67
  386. data/examples/rails-custom-login-page/public/500.html +0 -66
  387. data/examples/rails-custom-login-page/public/apple-touch-icon-precomposed.png +0 -0
  388. data/examples/rails-custom-login-page/public/apple-touch-icon.png +0 -0
  389. data/examples/rails-custom-login-page/public/favicon.ico +0 -0
  390. data/examples/rails-custom-login-page/public/robots.txt +0 -1
  391. data/examples/rails-custom-login-page/test/application_system_test_case.rb +0 -5
  392. data/examples/rails-custom-login-page/test/controllers/.keep +0 -0
  393. data/examples/rails-custom-login-page/test/controllers/dashboard_controller_test.rb +0 -9
  394. data/examples/rails-custom-login-page/test/controllers/home_controller_test.rb +0 -9
  395. data/examples/rails-custom-login-page/test/controllers/sessions_controller_test.rb +0 -7
  396. data/examples/rails-custom-login-page/test/controllers/users_controller_test.rb +0 -48
  397. data/examples/rails-custom-login-page/test/fixtures/.keep +0 -0
  398. data/examples/rails-custom-login-page/test/fixtures/files/.keep +0 -0
  399. data/examples/rails-custom-login-page/test/helpers/.keep +0 -0
  400. data/examples/rails-custom-login-page/test/integration/.keep +0 -0
  401. data/examples/rails-custom-login-page/test/mailers/.keep +0 -0
  402. data/examples/rails-custom-login-page/test/models/.keep +0 -0
  403. data/examples/rails-custom-login-page/test/system/.keep +0 -0
  404. data/examples/rails-custom-login-page/test/test_helper.rb +0 -9
  405. data/examples/rails-custom-login-page/vendor/.keep +0 -0
  406. data/lib/onelogin/api/apiexception.rb +0 -10
  407. data/lib/onelogin/api/client.rb +0 -2328
  408. data/lib/onelogin/api/cursor.rb +0 -113
  409. data/lib/onelogin/api/models/app.rb +0 -22
  410. data/lib/onelogin/api/models/auth_factor.rb +0 -16
  411. data/lib/onelogin/api/models/device.rb +0 -18
  412. data/lib/onelogin/api/models/embed_app.rb +0 -31
  413. data/lib/onelogin/api/models/event.rb +0 -54
  414. data/lib/onelogin/api/models/event_type.rb +0 -17
  415. data/lib/onelogin/api/models/factor_enrollment_response.rb +0 -22
  416. data/lib/onelogin/api/models/group.rb +0 -17
  417. data/lib/onelogin/api/models/mfa.rb +0 -26
  418. data/lib/onelogin/api/models/mfa_token.rb +0 -18
  419. data/lib/onelogin/api/models/onelogin_token.rb +0 -20
  420. data/lib/onelogin/api/models/otp_device.rb +0 -25
  421. data/lib/onelogin/api/models/privilege.rb +0 -51
  422. data/lib/onelogin/api/models/rate_limit.rb +0 -17
  423. data/lib/onelogin/api/models/role.rb +0 -16
  424. data/lib/onelogin/api/models/saml_endpoint_response.rb +0 -18
  425. data/lib/onelogin/api/models/session_token_info.rb +0 -21
  426. data/lib/onelogin/api/models/session_token_mfa_info.rb +0 -26
  427. data/lib/onelogin/api/models/statement.rb +0 -36
  428. data/lib/onelogin/api/models/user.rb +0 -135
  429. data/lib/onelogin/api/models/user_data.rb +0 -13
  430. data/lib/onelogin/api/models/user_metadata.rb +0 -13
  431. data/lib/onelogin/api/models.rb +0 -22
  432. data/lib/onelogin/api/util/constants.rb +0 -160
  433. data/lib/onelogin/api/util/parser.rb +0 -56
  434. data/lib/onelogin/api/util/url_builder.rb +0 -24
  435. data/lib/onelogin/api/util.rb +0 -13
  436. data/lib/onelogin/api.rb +0 -2
@@ -1,105 +0,0 @@
1
- # Customized Login Page
2
-
3
- This sample is a default [Ruby on Rails 5](http://rubyonrails.org/) app that makes use of the OneLogin ruby sdk for authenticating users.
4
-
5
- It is the recommended approach when building a customized login flow where you want complete control
6
- over the look & feel.
7
-
8
- The downside to this approach is that you have to implement MFA and password resets etc yourself. However we do have the APIs for these actions available and have demonstrated how to use them in this app.
9
-
10
- If you want a standards based, out of the box way to authenticate users then we recommend you use [our OpenId Connect implementation](https://github.com/onelogin/onelogin-oidc-ruby).
11
-
12
- ## Get Started
13
-
14
- The sample tries to keep everything as simple as possible so only
15
- implements
16
- * Login - Authenticate users in a single request to OneLogin with out any redirects
17
- * MFA - Does MFA verification if required
18
- * Password Reset with user verification via MFA
19
- * Self sign Up / Create a new user
20
- * Onboard / Activate a user
21
- * User Apps - List apps available to a user and provides SSO links
22
- * User Roles - Lists a users roles
23
- * Logout - destroying the local session and revoking the token at OneLogin
24
-
25
- In order to run this sample you need API credentials for a OneLogin account. If you don't have a OneLogin developer account [you can sign up here](https://www.onelogin.com/developer-signup).
26
-
27
- 1. Clone this repo
28
-
29
- ```sh
30
- git clone https://github.com/onelogin/onelogin-ruby-sdk.git
31
- ```
32
-
33
- 2. Move to the rails example and install the required gems
34
- ```sh
35
- cd onelogin-ruby-sdk/examples/rails-custom-login-page && bundle install
36
- ```
37
-
38
- 3. Rename `config/secrets.yml.sample` to `config/secrets.yml` and update with your OneLogin API credentials, region and subdomain.
39
-
40
- ```yaml
41
- development:
42
- secret_key_base: xxx
43
- ONELOGIN_CLIENT_ID: xxx
44
- ONELOGIN_CLIENT_SECRET: xxx
45
- ONELOGIN_REGION: us
46
- ONELOGIN_SUBDOMAIN: xxx
47
- ```
48
- 4. Run the sample and browse to `http://localhost:3000`
49
- ```sh
50
- rails s
51
- ```
52
-
53
- The `/dashboard` route renders a protected page to prove the authentication works and creates a session. You will need to be authenticated to view it. If you are not authenticate you will be redirected back to the login page.
54
-
55
- ### Authenticate the user
56
-
57
- *helpers/sessions_helper.rb*
58
- ```ruby
59
- response = api_client.create_session_login_token({
60
- 'username_or_email' => username,
61
- 'password' => password,
62
- 'subdomain' => ONELOGIN_SUBDOMAIN,
63
- },
64
- request.base_url # included for CORS session cookie request
65
- )
66
- ```
67
-
68
- ### Verify MFA
69
-
70
- *helpers/sessions_helper.rb*
71
- ```ruby
72
- response = api_client.get_session_token_verified(
73
- device_id,
74
- session[:state_token],
75
- otp_token,
76
- request.base_url
77
- )
78
- ```
79
-
80
- ### Destroy the session
81
-
82
- *helpers/sessions_helper.rb*
83
- ```ruby
84
- api_client.log_user_out(current_user_id)
85
- session.delete(:user)
86
- ```
87
-
88
- ### Make CORS request to establish SSO session
89
-
90
- Using the `session_token` returned from the `session_controller` after a new login or successful MFA verification.
91
-
92
- *views/home/index.html.erb*
93
- ```javascript
94
- function makeCors(session_token) {
95
- var xhr = new XMLHttpRequest();
96
- xhr.withCredentials = true;
97
- method = "POST";
98
- var url = "https://" + ONELOGIN_SUBDOMAIN + ".onelogin.com/session_via_api_token";
99
- xhr.open(method, url, true);
100
- xhr.setRequestHeader("Content-Type", "application/json");
101
- body = {"session_token": session_token};
102
- xhr.send(JSON.stringify(body));
103
- };
104
- ```
105
-
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require_relative 'config/application'
5
-
6
- Rails.application.load_tasks
@@ -1,3 +0,0 @@
1
- //= link_tree ../images
2
- //= link_directory ../javascripts .js
3
- //= link_directory ../stylesheets .css
@@ -1,18 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
5
- // vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require rails-ujs
14
- //= require turbolinks
15
- //= require_tree .
16
- //= require jquery
17
- //= require jquery_ujs
18
-
@@ -1,13 +0,0 @@
1
- // Action Cable provides the framework to deal with WebSockets in Rails.
2
- // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
- //
4
- //= require action_cable
5
- //= require_self
6
- //= require_tree ./channels
7
-
8
- (function() {
9
- this.App || (this.App = {});
10
-
11
- App.cable = ActionCable.createConsumer();
12
-
13
- }).call(this);
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
- * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
- * files in this directory. Styles in this file should be added after the last require_* statement.
11
- * It is generally better to create a new file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the Dashboard controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the Home controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the Sessions controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Channel < ActionCable::Channel::Base
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Connection < ActionCable::Connection::Base
3
- end
4
- end
@@ -1,23 +0,0 @@
1
- require 'onelogin'
2
-
3
- class ApplicationController < ActionController::Base
4
- protect_from_forgery with: :exception
5
- include SessionsHelper
6
-
7
- def require_current_user
8
- if current_user
9
- return true
10
- else
11
- redirect_to root_url, error: "Please sign in."
12
- return false
13
- end
14
- end
15
-
16
- def api_client
17
- @api_client ||= OneLogin::Api::Client.new(
18
- client_id: ONELOGIN_CLIENT_ID,
19
- client_secret: ONELOGIN_CLIENT_SECRET,
20
- region: ONELOGIN_REGION
21
- )
22
- end
23
- end
@@ -1,10 +0,0 @@
1
- class DashboardController < ApplicationController
2
- include DashboardHelper
3
-
4
- before_action :require_current_user
5
-
6
- def index
7
- @apps = user_apps
8
- @roles = user_roles
9
- end
10
- end
@@ -1,4 +0,0 @@
1
- class HomeController < ApplicationController
2
- def index
3
- end
4
- end
@@ -1,46 +0,0 @@
1
- class SessionsController < ApplicationController
2
- def new
3
- response = log_in(params['username'], params['password'])
4
- status = response[:error] ? :unauthorized : :ok
5
-
6
- render json: response, status: status
7
- end
8
-
9
- def verify
10
- response = verify_mfa(params['device_id'], params['otp_token'])
11
- status = response ? :ok : :unauthorized
12
-
13
- render json: response, status: status
14
- end
15
-
16
- # Checks for user and gets MFA devices
17
- # available to verify token before
18
- # password reset is completed
19
- def forgot_password
20
- user = validate_user(params['forgot_username'])
21
-
22
- devices = get_mfa_devices(user.id)
23
-
24
- status = user ? :ok : :not_found
25
-
26
- render json: devices, status: status
27
- end
28
-
29
- # Verify MFA token and then update password
30
- def reset_password
31
- if verify_token(params['reset_device_id'], params['reset_otp_token'])
32
- status = :ok
33
- response = set_password(session[:user_id], params['new_password'])
34
- else
35
- status = :unauthorized
36
- response = 'Invalid token'
37
- end
38
-
39
- render json: response, status: status
40
- end
41
-
42
- def destroy
43
- log_out
44
- redirect_to root_url
45
- end
46
- end
@@ -1,116 +0,0 @@
1
- class UsersController < ApplicationController
2
-
3
- before_action :require_current_user, except: [:new, :create, :onboard, :activate]
4
- before_action :set_user, only: [:show, :edit, :update, :destroy]
5
-
6
- # GET /users
7
- # GET /users.json
8
- def index
9
- @users = api_client.get_users.take(25) # only fetch the first 50 users
10
- end
11
-
12
- # GET /users/1
13
- # GET /users/1.json
14
- def show
15
- end
16
-
17
- # GET /users/new
18
- def new
19
- end
20
-
21
- # GET /users/1/edit
22
- def edit
23
- end
24
-
25
- # POST /users
26
- # POST /users.json
27
- def create
28
- # Create a user
29
- user = api_client.create_user(user_params)
30
- # Update custom attributes
31
- api_client.set_custom_attribute_to_user(user.id, custom_user_params)
32
- # Set status to unactivated
33
- api_client.update_user(user.id, status: 0)
34
-
35
- if api_client.error
36
- puts api_client.error_description
37
- end
38
-
39
- redirect_to onboard_path, notice: 'User has been created with status set to unactivated'
40
- end
41
-
42
- # GET /onboard
43
- def onboard
44
- end
45
-
46
- # POST /activate
47
- def activate
48
- # Search for a user with this email address
49
- @user = api_client.get_users(email: user_params[:email]).first
50
-
51
- unless @user && verify_dob && verify_ssn
52
- return redirect_to onboard_path, notice: "User #{user_params[:email]} was not verified"
53
- end
54
-
55
- # Update password
56
- unless api_client.set_password_using_clear_text(@user.id, user_params[:password], user_params[:password])
57
- return redirect_to onboard_path, notice: "Password update failed. #{api_client.error_description}"
58
- end
59
-
60
- # Activate user
61
- api_client.update_user(@user.id, status: 1)
62
-
63
- # Redirect to login page
64
- redirect_to home_index_path
65
- end
66
-
67
- # Verify dob and ssn match
68
- def verify_ssn
69
- @user.custom_attributes["custom_ssn"].eql? (custom_user_params[:custom_ssn])
70
- end
71
-
72
- def verify_dob
73
- @user.custom_attributes["custom_dob"].eql? (custom_user_params[:custom_dob])
74
- end
75
-
76
- # PATCH/PUT /users/1
77
- # PATCH/PUT /users/1.json
78
- def update
79
- # update the user
80
- api_client.update_user(params[:id], user_params)
81
-
82
- # update custom attributes
83
- api_client.set_custom_attribute_to_user(params[:id], custom_user_params)
84
-
85
- respond_to do |format|
86
- unless api_client.error
87
- format.html { redirect_to user_path(params[:id]), notice: 'User was successfully updated.' }
88
- format.json { render :show, status: :ok, location: @user }
89
- else
90
- format.html { render :edit }
91
- format.json { render json: @user.errors, status: :unprocessable_entity }
92
- end
93
- end
94
- end
95
-
96
- # DELETE /users/1
97
- # DELETE /users/1.json
98
- def destroy
99
- @user.destroy
100
- respond_to do |format|
101
- format.html { redirect_to users_url, notice: 'User was successfully destroyed.' }
102
- format.json { head :no_content }
103
- end
104
- end
105
-
106
- private
107
-
108
- # Never trust parameters from the scary internet, only allow the white list through.
109
- def user_params
110
- params.permit(:firstname, :lastname, :email, :phone, :custom_field, :username, :password)
111
- end
112
-
113
- def custom_user_params
114
- params.permit(:custom_field, :custom_dob, :custom_ssn)
115
- end
116
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,28 +0,0 @@
1
- module DashboardHelper
2
-
3
- #
4
- # Get a list of app for the current user
5
- #
6
- def user_apps
7
- api_client.get_user_apps(current_user_id)
8
- end
9
-
10
- #
11
- # Get a list of roles for the current user
12
- #
13
- def user_roles
14
- role_ids = api_client.get_user_roles(current_user_id)
15
-
16
- roles.map do |role|
17
- role if role_ids.include?(role.id)
18
- end.compact
19
- end
20
-
21
- #
22
- # Get a list of all roles in onelogin account
23
- #
24
- def roles
25
- @roles ||= api_client.get_roles
26
- end
27
-
28
- end
@@ -1,2 +0,0 @@
1
- module HomeHelper
2
- end
@@ -1,87 +0,0 @@
1
- module SessionsHelper
2
-
3
- def log_in(username, password)
4
- response = api_client.create_session_login_token({
5
- 'username_or_email' => username,
6
- 'password' => password,
7
- 'subdomain' => ONELOGIN_SUBDOMAIN,
8
- },
9
- request.base_url # included for CORS session cookie request
10
- )
11
- return { error: api_client.error_description } unless response
12
-
13
- if response.is_a? OneLogin::Api::Models::SessionTokenMFAInfo
14
- session[:state_token] = response.state_token
15
- {
16
- requires_mfa: true,
17
- devices: response.devices
18
- }
19
- else
20
- create_session(response.user)
21
- {
22
- requires_mfa: false,
23
- session_token: response.session_token
24
- }
25
- end
26
- end
27
-
28
- def verify_mfa(device_id, otp_token)
29
- response = api_client.get_session_token_verified(
30
- device_id,
31
- session[:state_token],
32
- otp_token,
33
- request.base_url
34
- )
35
- return nil unless response
36
-
37
- create_session(response.user)
38
- {
39
- session_token: response.session_token
40
- }
41
- end
42
-
43
- def create_session(user)
44
- session[:user] = user
45
- end
46
-
47
- def log_out
48
- return unless current_user
49
- api_client.log_user_out(current_user_id)
50
- session.delete(:user)
51
- end
52
-
53
- def current_user
54
- session[:user]
55
- end
56
-
57
- def current_user_id
58
- session[:user]['id'] if current_user
59
- end
60
-
61
- def validate_user(username)
62
- user = api_client.get_users(username: username).first
63
-
64
- if user
65
- session[:user_id] = user.id
66
- end
67
-
68
- user
69
- end
70
-
71
- def get_mfa_devices(user_id)
72
- devices = api_client.get_enrolled_factors(user_id)
73
-
74
- # only return devices that dont need a trigger.
75
- # i.e. this sample does not support push yet
76
- devices.select {|d| d.needs_trigger == true }
77
- end
78
-
79
- def verify_token(device_id, mfa_token)
80
- puts "VERIFY MFA TOKEN User:#{session[:user_id]}, Device:#{device_id}, Token:#{mfa_token}"
81
- api_client.verify_factor(session[:user_id], device_id, mfa_token)
82
- end
83
-
84
- def set_password(user_id, password)
85
- api_client.set_password_using_clear_text(user_id, password, password)
86
- end
87
- end
@@ -1,3 +0,0 @@
1
- module UsersHelper
2
-
3
- end
@@ -1,2 +0,0 @@
1
- class ApplicationJob < ActiveJob::Base
2
- end
@@ -1,4 +0,0 @@
1
- class ApplicationMailer < ActionMailer::Base
2
- default from: 'from@example.com'
3
- layout 'mailer'
4
- end
@@ -1,3 +0,0 @@
1
- class ApplicationRecord < ActiveRecord::Base
2
- self.abstract_class = true
3
- end
@@ -1,50 +0,0 @@
1
- <div class="jumbotron">
2
- <h1>Dashboard</h1>
3
- <p>
4
- You must be authenticated to see this page so if you're seeing it then
5
- everything worked as expected 🎉
6
- </p>
7
- <p>
8
- <a href="/users">List Users</a> | <a href="/logout">Log Out</a>
9
- </p>
10
- </div>
11
-
12
- <div class="container">
13
- <div class="row">
14
- <div class="col-sm">
15
- <h2>Apps</h2>
16
- <ul class="list-group">
17
- <%@apps.each do |app|%>
18
- <li class="list-group-item"><a href="https://<%= ONELOGIN_SUBDOMAIN %>.onelogin.com/launch/<%= app.id %>"><%= app.name %></a></li>
19
- <%end%>
20
- </ul>
21
- </div>
22
- <div class="col-sm">
23
- <h2>Roles</h2>
24
- <ul class="list-group">
25
- <%@roles.each do |role|%>
26
- <li class="list-group-item"><%= role.name %></li>
27
- <%end%>
28
- </ul>
29
-
30
- <br/>
31
-
32
- <h2>Profile</h2>
33
- <ul class="list-group">
34
- <%current_user.each do |k, v|%>
35
- <li class="list-group-item">
36
- <b><%= k%>:</b> <%= v%>
37
- </li>
38
- <%end%>
39
- </ul>
40
- </div>
41
- </div>
42
- </div>
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-