devise_token_auth 0.1.43 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +42 -895
  3. data/Rakefile +11 -4
  4. data/app/controllers/devise_token_auth/application_controller.rb +19 -8
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +26 -12
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +106 -85
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +73 -17
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +95 -51
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +65 -57
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +61 -61
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +22 -18
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +5 -3
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +20 -16
  14. data/app/models/devise_token_auth/concerns/active_record_support.rb +14 -0
  15. data/app/models/devise_token_auth/concerns/confirmable_support.rb +28 -0
  16. data/app/models/devise_token_auth/concerns/mongoid_support.rb +19 -0
  17. data/app/models/devise_token_auth/concerns/tokens_serialization.rb +31 -0
  18. data/app/models/devise_token_auth/concerns/user.rb +92 -100
  19. data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +8 -3
  20. data/app/validators/{email_validator.rb → devise_token_auth_email_validator.rb} +5 -3
  21. data/app/views/devise_token_auth/omniauth_external_window.html.erb +1 -1
  22. data/config/locales/da-DK.yml +11 -9
  23. data/config/locales/de.yml +2 -0
  24. data/config/locales/en.yml +10 -0
  25. data/config/locales/es.yml +2 -0
  26. data/config/locales/fr.yml +2 -0
  27. data/config/locales/he.yml +52 -0
  28. data/config/locales/it.yml +2 -0
  29. data/config/locales/ja.yml +4 -2
  30. data/config/locales/ko.yml +51 -0
  31. data/config/locales/nl.yml +2 -0
  32. data/config/locales/pl.yml +6 -3
  33. data/config/locales/pt-BR.yml +2 -0
  34. data/config/locales/pt.yml +6 -3
  35. data/config/locales/ro.yml +2 -0
  36. data/config/locales/ru.yml +2 -0
  37. data/config/locales/sq.yml +2 -0
  38. data/config/locales/sv.yml +52 -0
  39. data/config/locales/uk.yml +2 -0
  40. data/config/locales/vi.yml +2 -0
  41. data/config/locales/zh-CN.yml +2 -0
  42. data/config/locales/zh-HK.yml +2 -0
  43. data/config/locales/zh-TW.yml +2 -0
  44. data/lib/devise_token_auth/blacklist.rb +6 -0
  45. data/lib/devise_token_auth/controllers/helpers.rb +21 -13
  46. data/lib/devise_token_auth/controllers/url_helpers.rb +2 -0
  47. data/lib/devise_token_auth/engine.rb +26 -14
  48. data/lib/devise_token_auth/errors.rb +8 -0
  49. data/lib/devise_token_auth/rails/routes.rb +37 -30
  50. data/lib/devise_token_auth/token_factory.rb +126 -0
  51. data/lib/devise_token_auth/url.rb +11 -4
  52. data/lib/devise_token_auth/version.rb +3 -1
  53. data/lib/devise_token_auth.rb +11 -5
  54. data/lib/generators/devise_token_auth/USAGE +2 -2
  55. data/lib/generators/devise_token_auth/install_generator.rb +36 -105
  56. data/lib/generators/devise_token_auth/install_generator_helpers.rb +98 -0
  57. data/lib/generators/devise_token_auth/install_mongoid_generator.rb +46 -0
  58. data/lib/generators/devise_token_auth/install_views_generator.rb +7 -5
  59. data/lib/generators/devise_token_auth/templates/devise_token_auth.rb +12 -0
  60. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +8 -14
  61. data/lib/generators/devise_token_auth/templates/user.rb.erb +9 -0
  62. data/lib/generators/devise_token_auth/templates/user_mongoid.rb.erb +56 -0
  63. data/lib/tasks/devise_token_auth_tasks.rake +2 -0
  64. data/test/controllers/custom/custom_confirmations_controller_test.rb +5 -1
  65. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +4 -0
  66. data/test/controllers/custom/custom_passwords_controller_test.rb +6 -2
  67. data/test/controllers/custom/custom_registrations_controller_test.rb +17 -8
  68. data/test/controllers/custom/custom_sessions_controller_test.rb +7 -5
  69. data/test/controllers/custom/custom_token_validations_controller_test.rb +5 -3
  70. data/test/controllers/demo_group_controller_test.rb +4 -6
  71. data/test/controllers/demo_mang_controller_test.rb +3 -3
  72. data/test/controllers/demo_user_controller_test.rb +53 -25
  73. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +159 -25
  74. data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +117 -47
  75. data/test/controllers/devise_token_auth/passwords_controller_test.rb +309 -126
  76. data/test/controllers/devise_token_auth/registrations_controller_test.rb +65 -23
  77. data/test/controllers/devise_token_auth/sessions_controller_test.rb +93 -61
  78. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +18 -6
  79. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +24 -5
  80. data/test/controllers/overrides/confirmations_controller_test.rb +6 -2
  81. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +5 -1
  82. data/test/controllers/overrides/passwords_controller_test.rb +27 -29
  83. data/test/controllers/overrides/registrations_controller_test.rb +33 -27
  84. data/test/controllers/overrides/sessions_controller_test.rb +6 -4
  85. data/test/controllers/overrides/token_validations_controller_test.rb +5 -3
  86. data/test/dummy/app/active_record/confirmable_user.rb +11 -0
  87. data/test/dummy/app/{models → active_record}/lockable_user.rb +2 -0
  88. data/test/dummy/app/{models → active_record}/mang.rb +2 -0
  89. data/test/dummy/app/{models → active_record}/only_email_user.rb +2 -0
  90. data/test/dummy/app/{models → active_record}/scoped_user.rb +4 -2
  91. data/test/dummy/app/{models → active_record}/unconfirmable_user.rb +3 -2
  92. data/test/dummy/app/active_record/unregisterable_user.rb +9 -0
  93. data/test/dummy/app/active_record/user.rb +6 -0
  94. data/test/dummy/app/controllers/application_controller.rb +2 -0
  95. data/test/dummy/app/controllers/auth_origin_controller.rb +2 -0
  96. data/test/dummy/app/controllers/custom/confirmations_controller.rb +2 -2
  97. data/test/dummy/app/controllers/custom/omniauth_callbacks_controller.rb +2 -0
  98. data/test/dummy/app/controllers/custom/passwords_controller.rb +3 -4
  99. data/test/dummy/app/controllers/custom/registrations_controller.rb +3 -3
  100. data/test/dummy/app/controllers/custom/sessions_controller.rb +3 -3
  101. data/test/dummy/app/controllers/custom/token_validations_controller.rb +3 -3
  102. data/test/dummy/app/controllers/demo_group_controller.rb +2 -0
  103. data/test/dummy/app/controllers/demo_mang_controller.rb +2 -0
  104. data/test/dummy/app/controllers/demo_user_controller.rb +2 -0
  105. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +8 -6
  106. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +5 -3
  107. data/test/dummy/app/controllers/overrides/passwords_controller.rb +10 -8
  108. data/test/dummy/app/controllers/overrides/registrations_controller.rb +5 -3
  109. data/test/dummy/app/controllers/overrides/sessions_controller.rb +12 -12
  110. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +5 -5
  111. data/test/dummy/app/helpers/application_helper.rb +1029 -1036
  112. data/test/dummy/app/models/{user.rb → concerns/favorite_color.rb} +8 -7
  113. data/test/dummy/app/mongoid/confirmable_user.rb +52 -0
  114. data/test/dummy/app/mongoid/lockable_user.rb +38 -0
  115. data/test/dummy/app/mongoid/mang.rb +46 -0
  116. data/test/dummy/app/mongoid/only_email_user.rb +33 -0
  117. data/test/dummy/app/mongoid/scoped_user.rb +50 -0
  118. data/test/dummy/app/mongoid/unconfirmable_user.rb +44 -0
  119. data/test/dummy/app/mongoid/unregisterable_user.rb +47 -0
  120. data/test/dummy/app/mongoid/user.rb +49 -0
  121. data/test/dummy/app/views/layouts/application.html.erb +0 -2
  122. data/test/dummy/config/application.rb +26 -3
  123. data/test/dummy/config/boot.rb +8 -2
  124. data/test/dummy/config/environment.rb +3 -1
  125. data/test/dummy/config/environments/development.rb +5 -13
  126. data/test/dummy/config/environments/production.rb +2 -16
  127. data/test/dummy/config/environments/test.rb +3 -1
  128. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  129. data/test/dummy/config/initializers/cookies_serializer.rb +3 -1
  130. data/test/dummy/config/initializers/devise.rb +287 -0
  131. data/test/dummy/config/initializers/devise_token_auth.rb +37 -4
  132. data/test/dummy/config/initializers/figaro.rb +3 -1
  133. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  134. data/test/dummy/config/initializers/inflections.rb +2 -0
  135. data/test/dummy/config/initializers/mime_types.rb +2 -0
  136. data/test/dummy/config/initializers/omniauth.rb +5 -2
  137. data/test/dummy/config/initializers/session_store.rb +2 -0
  138. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  139. data/test/dummy/config/routes.rb +14 -29
  140. data/test/dummy/config/spring.rb +2 -0
  141. data/test/dummy/config.ru +5 -3
  142. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +9 -14
  143. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +8 -13
  144. data/test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb +2 -0
  145. data/test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb +2 -0
  146. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +6 -11
  147. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +8 -13
  148. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +8 -13
  149. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +8 -13
  150. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +8 -13
  151. data/test/dummy/{tmp/generators/db/migrate/20171014052631_devise_token_auth_create_users.rb → db/migrate/20190924101113_devise_token_auth_create_confirmable_users.rb} +8 -14
  152. data/test/dummy/db/schema.rb +11 -71
  153. data/test/dummy/lib/migration_database_helper.rb +15 -1
  154. data/test/dummy/tmp/generators/app/controllers/application_controller.rb +6 -0
  155. data/test/dummy/tmp/generators/app/models/azpire/v1/human_resource/user.rb +56 -0
  156. data/test/dummy/tmp/generators/config/initializers/devise_token_auth.rb +12 -0
  157. data/test/factories/users.rb +41 -0
  158. data/test/lib/devise_token_auth/blacklist_test.rb +19 -0
  159. data/test/lib/devise_token_auth/rails/custom_routes_test.rb +29 -0
  160. data/test/lib/devise_token_auth/rails/routes_test.rb +87 -0
  161. data/test/lib/devise_token_auth/token_factory_test.rb +191 -0
  162. data/test/lib/devise_token_auth/url_test.rb +9 -7
  163. data/test/lib/generators/devise_token_auth/install_generator_test.rb +67 -37
  164. data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +222 -0
  165. data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +3 -1
  166. data/test/models/concerns/mongoid_support_test.rb +31 -0
  167. data/test/models/concerns/tokens_serialization_test.rb +104 -0
  168. data/test/models/confirmable_user_test.rb +35 -0
  169. data/test/models/only_email_user_test.rb +2 -8
  170. data/test/models/user_test.rb +18 -79
  171. data/test/support/controllers/routes.rb +43 -0
  172. data/test/test_helper.rb +83 -26
  173. metadata +153 -44
  174. data/config/initializers/devise.rb +0 -196
  175. data/lib/generators/devise_token_auth/templates/user.rb +0 -7
  176. data/test/dummy/app/models/evil_user.rb +0 -3
  177. data/test/dummy/app/models/nice_user.rb +0 -7
  178. data/test/dummy/app/models/unregisterable_user.rb +0 -7
  179. data/test/dummy/config/initializers/assets.rb +0 -8
  180. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -64
  181. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -61
  182. data/test/dummy/tmp/generators/app/models/user.rb +0 -11
  183. data/test/integration/navigation_test.rb +0 -10
@@ -0,0 +1,51 @@
1
+ ko:
2
+ devise_token_auth:
3
+ sessions:
4
+ not_confirmed: "'%{email}'로 주소 인증 메일을 발송했습니다. 계정을 활성화하기 위해서는 반드시 메일의 안내를 따라야 합니다."
5
+ bad_credentials: "계정 정보가 맞지 않습니다. 다시 시도해 주세요."
6
+ not_supported: "POST /sign_in to sign in을 사용해주세요. GET은 지원하지 않습니다."
7
+ user_not_found: "유저를 찾을 수 없습니다."
8
+ invalid: "계정 정보가 맞지 않습니다."
9
+ registrations:
10
+ missing_confirm_success_url: "'confirm_success_url' 파라미터가 없습니다."
11
+ redirect_url_not_allowed: "'%{redirect_url}' 주소로 리다이렉트는 허용하지 않습니다."
12
+ email_already_exists: "'%{email}'을 사용하는 계정이 이미 있습니다."
13
+ account_with_uid_destroyed: " UID가 '%{uid}'인 계정을 삭제했습니다."
14
+ account_to_destroy_not_found: "삭제할 계정을 찾을 수 없습니다."
15
+ user_not_found: "유저를 찾을 수 없습니다."
16
+ omniauth:
17
+ not_allowed_redirect_url: "'%{redirect_url}' 주소로 리다이렉트는 허용하지 않습니다."
18
+ passwords:
19
+ missing_email: "이메일 주소를 입력해야 합니다."
20
+ missing_redirect_url: "redirect URL이 없습니다."
21
+ not_allowed_redirect_url: "'%{redirect_url}' 주소로 리다이렉트는 허용하지 않습니다."
22
+ sended: "'%{email}'로 비밀번호를 재설정하기 위한 안내 메일을 발송했습니다."
23
+ user_not_found: "'%{email}'을 사용하는 유저를 찾을 수 없습니다."
24
+ password_not_required: "이 계정은 비밀번호가 필요하지 않습니다. '%{provider}'으로 로그인을 진행해 주세요."
25
+ missing_passwords: "비밀번호와 비밀번호 확인 필드를 반드시 입력해야 합니다."
26
+ successfully_updated: "비밀번호를 성공적으로 업데이트 했습니다."
27
+ unlocks:
28
+ missing_email: "이메일 주소를 반드시 입력해야 합니다."
29
+ sended: "'%{email}'로 계정 잠금 해제를 위한 안내 메일을 발송했습니다."
30
+ user_not_found: "'%{email}'을 사용하는 유저를 찾을 수 없습니다."
31
+ errors:
32
+ messages:
33
+ validate_sign_up_params: "요청 값에 알맞은 로그인 데이터를 입력하세요."
34
+ validate_account_update_params: "요청 값에 알맞은 업데이트 데이터를 입력하세요."
35
+ not_email: "이메일이 아닙니다."
36
+ devise:
37
+ mailer:
38
+ confirmation_instructions:
39
+ confirm_link_msg: "아래의 링크를 이용해 계정 인증을 할 수 있습니다."
40
+ confirm_account_link: "본인 계정 인증"
41
+ reset_password_instructions:
42
+ request_reset_link_msg: "누군가 당신의 비밀번호를 변경하는 링크를 요청했으며, 다음의 링크에서 비밀번호 변경이 가능합니다."
43
+ password_change_link: "비밀번호 변경"
44
+ ignore_mail_msg: "비밀번호 변경을 요청하지 않으셨다면 이 메일을 무시하십시오."
45
+ no_changes_msg: "위 링크에 접속하여 새로운 비밀번호를 생성하기 전까지 귀하의 비밀번호는 변경되지 않습니다."
46
+ unlock_instructions:
47
+ account_lock_msg: "로그인 실패 횟수 초과로 귀하의 계정이 잠금 처리되었습니다."
48
+ unlock_link_msg: "계정 잠금을 해제하려면 아래 링크를 클릭하세요."
49
+ unlock_link: "계정 잠금 해제"
50
+ hello: "안녕하세요"
51
+ welcome: "환영합니다"
@@ -14,6 +14,8 @@ nl:
14
14
  account_with_uid_destroyed: "Account met id '%{uid}' is verwijderd."
15
15
  account_to_destroy_not_found: "Te verwijderen account niet gevonden."
16
16
  user_not_found: "Gebruiker niet gevonden."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Redirect naar '%{redirect_url}' niet toegestaan."
17
19
  passwords:
18
20
  missing_email: "Je moet een e-mailadres opgeven."
19
21
  missing_redirect_url: "Redirect URL ontbreekt."
@@ -14,6 +14,8 @@ pl:
14
14
  account_with_uid_destroyed: "Konto z uid '%{uid}' zostało usunięte."
15
15
  account_to_destroy_not_found: "Nie odnaleziono konta do usunięcia."
16
16
  user_not_found: "Użytkownik nie został odnaleziony."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Przekierowanie na adres '%{redirect_url}' nie jest dozwolone."
17
19
  passwords:
18
20
  missing_email: "Musisz wprowadzić adres e-mail."
19
21
  missing_redirect_url: "Brak adresu zwrotnego."
@@ -24,9 +26,10 @@ pl:
24
26
  missing_passwords: "Musisz wypełnić wszystkie pola z etykietą 'Hasło' oraz 'Potwierdzenie hasła'."
25
27
  successfully_updated: "Twoje hasło zostało zaktualizowane."
26
28
  errors:
27
- validate_sign_up_params: "Proszę dostarczyć odpowiednie dane logowania w ciele zapytania."
28
- validate_account_update_params: "Proszę dostarczyć odpowiednie dane aktualizacji konta w ciele zapytania."
29
- not_email: "nie jest prawidłowym adresem e-mail"
29
+ messages:
30
+ validate_sign_up_params: "Proszę dostarczyć odpowiednie dane logowania w ciele zapytania."
31
+ validate_account_update_params: "Proszę dostarczyć odpowiednie dane aktualizacji konta w ciele zapytania."
32
+ not_email: "nie jest prawidłowym adresem e-mail"
30
33
  devise:
31
34
  mailer:
32
35
  confirmation_instructions:
@@ -14,6 +14,8 @@ pt-BR:
14
14
  account_with_uid_destroyed: "A conta com uid '%{uid}' foi excluída."
15
15
  account_to_destroy_not_found: "Não foi possível encontrar a conta para exclusão."
16
16
  user_not_found: "Usuário não encontrado."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Redirecionamento para '%{redirect_url}' não permitido."
17
19
  passwords:
18
20
  missing_email: "Informe o endereço de e-mail."
19
21
  missing_redirect_url: "URL para redirecionamento não informada."
@@ -14,6 +14,8 @@ pt:
14
14
  account_with_uid_destroyed: "A conta com uid '%{uid}' foi excluída."
15
15
  account_to_destroy_not_found: "Não foi possível encontrar a conta para exclusão."
16
16
  user_not_found: "Utilizador não encontrado."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Redirecionamento para '%{redirect_url}' não permitido."
17
19
  passwords:
18
20
  missing_email: "Informe o endereço de e-mail."
19
21
  missing_redirect_url: "URL para redirecionamento não informada."
@@ -24,9 +26,10 @@ pt:
24
26
  missing_passwords: "Preencha a senha e a confirmação de senha."
25
27
  successfully_updated: "Senha atualizada com sucesso."
26
28
  errors:
27
- validate_sign_up_params: "Os dados submetidos na requisição de registo são inválidos."
28
- validate_account_update_params: "Os dados submetidos para atualização de conta são inválidos."
29
- not_email: "não é um e-mail"
29
+ messages:
30
+ validate_sign_up_params: "Os dados submetidos na requisição de registo são inválidos."
31
+ validate_account_update_params: "Os dados submetidos para atualização de conta são inválidos."
32
+ not_email: "não é um e-mail"
30
33
  devise:
31
34
  mailer:
32
35
  confirmation_instructions:
@@ -14,6 +14,8 @@ ro:
14
14
  account_with_uid_destroyed: "Contul cu UID '%{uid}' a fost șters."
15
15
  account_to_destroy_not_found: "Nu se poate localiza contul pentru ștergere."
16
16
  user_not_found: "Utilizatorul nu a fost găsit."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Redirecționarea către '%{redirect_url}' nu este permisă."
17
19
  passwords:
18
20
  missing_email: "Trebuie să introduci o adresă de e-mail."
19
21
  missing_redirect_url: "URL-ul pentru redirecționare lipsește."
@@ -14,6 +14,8 @@ ru:
14
14
  account_with_uid_destroyed: "Учетная запись с uid '%{uid}' удалена."
15
15
  account_to_destroy_not_found: "Не удается найти учетную запись для удаления."
16
16
  user_not_found: "Пользователь не найден."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Переадресация на '%{redirect_url}' не разрешена."
17
19
  passwords:
18
20
  missing_email: "Вы должны указать адрес электронной почты."
19
21
  missing_redirect_url: "Отсутствует адрес переадресации."
@@ -14,6 +14,8 @@ sq:
14
14
  account_with_uid_destroyed: "Llogaria me UID-në '%{uid}' është fshirë."
15
15
  account_to_destroy_not_found: "Nuk u gjet llogaria për fshirje."
16
16
  user_not_found: "Përdoruesi nuk u gjet."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Nuk lejohet shkuarja tek URL-ja '%{redirect_url}'."
17
19
  passwords:
18
20
  missing_email: "Ju duhet të jepni një email adresë."
19
21
  missing_redirect_url: "Mungon URL-ja për ridërgim."
@@ -0,0 +1,52 @@
1
+ sv:
2
+ devise_token_auth:
3
+ sessions:
4
+ not_confirmed: "Ett bekräftelse-email har skickats till '%{email}'. Följ instruktionerna i emailet så kan ditt konto aktiveras"
5
+ bad_credentials: "Ogiltig login-information. Vänligen försök igen."
6
+ not_supported: "Använd POST /sign_in för att logga in. GET stöds inte."
7
+ user_not_found: "Användaren hittades inte eller var inte inloggad."
8
+ token_validations:
9
+ invalid: "Ogiltig token-information"
10
+ registrations:
11
+ missing_confirm_success_url: "Saknar 'confirm_success_url'-parameter."
12
+ redirect_url_not_allowed: "Omdirigering till '%{redirect_url}' ej tillåten."
13
+ email_already_exists: "Det finns redan ett konto för '%{email}'"
14
+ account_with_uid_destroyed: "Kontot med UID '%{uid}' har tagits bort."
15
+ account_to_destroy_not_found: "Kunde inte hitta kontot för borttagning."
16
+ user_not_found: "Användaren hittades ej."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Omdirigering till '%{redirect_url}' ej tillåten."
19
+ passwords:
20
+ missing_email: "Du måste ange en emailadress."
21
+ missing_redirect_url: "Saknar en omdirigerings-URL."
22
+ not_allowed_redirect_url: "Omdirigering till '%{redirect_url}' ej tillåten."
23
+ sended: "Ett email har skickats till '%{email}' med instruktioner för hur du skapar ett nytt lösenord."
24
+ user_not_found: "Kunde inte hitta användaren med email '%{email}'."
25
+ password_not_required: "Det har kontot kräver inget lösenord. Logga in via ditt '%{provider}'-konto istället."
26
+ missing_passwords: "Du måste fylla i fälten 'Lösenord' och 'Upprepa lösenord'."
27
+ successfully_updated: "Ditt lösenord har ändrats."
28
+ unlocks:
29
+ missing_email: "Du måste ange en emailadress."
30
+ sended: "Ett email har skickats till '%{email}' med instruktioner för hur du låser upp ditt konto."
31
+ user_not_found: "Kunde inte hitta användaren med emailadressen '%{email}'."
32
+ errors:
33
+ messages:
34
+ validate_sign_up_params: "Vänligen skicka giltig data för att skapa konto i request-bodyn."
35
+ validate_account_update_params: "Vänligen skicka giltig data för att uppdatera konto i request-bodyn."
36
+ not_email: "är inte en emailadress"
37
+ devise:
38
+ mailer:
39
+ confirmation_instructions:
40
+ confirm_link_msg: "Du kan bekräfta ditt kontos emailadress genom att besöka länken nedan:"
41
+ confirm_account_link: "Bekräfta mitt konto"
42
+ reset_password_instructions:
43
+ request_reset_link_msg: "Någon har begärt en länk för att ändra ditt lösenord. Du kan göra detta via länken nedan."
44
+ password_change_link: "Byt mitt lösenord"
45
+ ignore_mail_msg: "Om du inte begärt detta, vänligen bortse från detta mail."
46
+ no_changes_msg: "Ditt lösenord kommer inte att ändras förrän du använder länken ovan och skapar ett nytt."
47
+ unlock_instructions:
48
+ account_lock_msg: "Ditt konto har låsts efter för många misslyckade loginförsök."
49
+ unlock_link_msg: "Klicka på länken nedan för att låsa upp ditt konto:"
50
+ unlock_link: "Lås upp mitt konto"
51
+ hello: "hej"
52
+ welcome: "välkommen"
@@ -14,6 +14,8 @@ uk:
14
14
  account_with_uid_destroyed: "Акаунт з UID '%{uid}' було видалено."
15
15
  account_to_destroy_not_found: "Неможливо знайти акаунт для видалення."
16
16
  user_not_found: "Користувача не знайдено"
17
+ omniauth:
18
+ not_allowed_redirect_url: "Перенаправлення до '%{redirect_url}' не дозволено."
17
19
  passwords:
18
20
  missing_email: "Ви маєте ввести email адресу."
19
21
  missing_redirect_url: "Немає URL для перенаправлення."
@@ -14,6 +14,8 @@ vi:
14
14
  account_with_uid_destroyed: "Tài khoản với UID '%{uid}' vừa bị phá hủy."
15
15
  account_to_destroy_not_found: "Không thể xác định tài khoản cho việc phá hủy."
16
16
  user_not_found: "Người dùng không tìm thấy."
17
+ omniauth:
18
+ not_allowed_redirect_url: "Chuyển hướng tới '%{redirect_url}' không được phép."
17
19
  passwords:
18
20
  missing_email: "Bạn cần cung cấp địa chỉ email."
19
21
  missing_redirect_url: "Thiếu đường đẫn URL."
@@ -14,6 +14,8 @@ zh-CN:
14
14
  account_with_uid_destroyed: "账号 '%{uid}' 已被移除。"
15
15
  account_to_destroy_not_found: "无法找到目标帐号。"
16
16
  user_not_found: "找不到帐号。"
17
+ omniauth:
18
+ not_allowed_redirect_url: "不支持转向到 '%{redirect_url}'"
17
19
  passwords:
18
20
  missing_email: "必需提供邮箱。"
19
21
  missing_redirect_url: "欠缺 redirect URL."
@@ -16,6 +16,8 @@ zh-TW:
16
16
  account_with_uid_destroyed: "帳號 '%{uid}' 已被移除。"
17
17
  account_to_destroy_not_found: "無法找到目標帳號。"
18
18
  user_not_found: "找不到帳號。"
19
+ omniauth:
20
+ not_allowed_redirect_url: "不支援轉向到 '%{redirect_url}'"
19
21
  passwords:
20
22
  missing_email: "必需提供電郵。"
21
23
  missing_redirect_url: "欠缺 redirect URL."
@@ -16,6 +16,8 @@ zh-TW:
16
16
  account_with_uid_destroyed: "帳號 '%{uid}' 已被移除。"
17
17
  account_to_destroy_not_found: "無法找到目標帳號。"
18
18
  user_not_found: "找不到帳號。"
19
+ omniauth:
20
+ not_allowed_redirect_url: "不支援轉向到 '%{redirect_url}'"
19
21
  passwords:
20
22
  missing_email: "必需提供電郵。"
21
23
  missing_redirect_url: "欠缺 redirect URL."
@@ -0,0 +1,6 @@
1
+ # don't serialize tokens
2
+ if defined? Devise::Models::Authenticatable::UNSAFE_ATTRIBUTES_FOR_SERIALIZATION
3
+ Devise::Models::Authenticatable::UNSAFE_ATTRIBUTES_FOR_SERIALIZATION << :tokens
4
+ else
5
+ Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION << :tokens
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DeviseTokenAuth
2
4
  module Controllers
3
5
  module Helpers
@@ -26,18 +28,12 @@ module DeviseTokenAuth
26
28
  # before_action ->{ authenticate_blogger! :admin } # Redirects to the admin login page
27
29
  # current_blogger :user # Preferably returns a User if one is signed in
28
30
  #
29
- def devise_token_auth_group(group_name, opts={})
30
- mappings = "[#{ opts[:contains].map { |m| ":#{m}" }.join(',') }]"
31
+ def devise_token_auth_group(group_name, opts = {})
32
+ mappings = "[#{opts[:contains].map { |m| ":#{m}" }.join(',')}]"
31
33
 
32
34
  class_eval <<-METHODS, __FILE__, __LINE__ + 1
33
35
  def authenticate_#{group_name}!(favourite=nil, opts={})
34
36
  unless #{group_name}_signed_in?
35
- mappings = #{mappings}
36
- mappings.unshift mappings.delete(favourite.to_sym) if favourite
37
- mappings.each do |mapping|
38
- set_user_by_token(mapping)
39
- end
40
-
41
37
  unless current_#{group_name}
42
38
  render_authenticate_error
43
39
  end
@@ -45,12 +41,14 @@ module DeviseTokenAuth
45
41
  end
46
42
 
47
43
  def #{group_name}_signed_in?
48
- #{mappings}.any? do |mapping|
49
- set_user_by_token(mapping)
50
- end
44
+ !!current_#{group_name}
51
45
  end
52
46
 
53
47
  def current_#{group_name}(favourite=nil)
48
+ @current_#{group_name} ||= set_group_user_by_token(favourite)
49
+ end
50
+
51
+ def set_group_user_by_token(favourite)
54
52
  mappings = #{mappings}
55
53
  mappings.unshift mappings.delete(favourite.to_sym) if favourite
56
54
  mappings.each do |mapping|
@@ -73,7 +71,12 @@ module DeviseTokenAuth
73
71
  end
74
72
 
75
73
  if respond_to?(:helper_method)
76
- helper_method "current_#{group_name}", "current_#{group_name.to_s.pluralize}", "#{group_name}_signed_in?", "render_authenticate_error"
74
+ helper_method(
75
+ "current_#{group_name}",
76
+ "current_#{group_name.to_s.pluralize}",
77
+ "#{group_name}_signed_in?",
78
+ "render_authenticate_error"
79
+ )
77
80
  end
78
81
  METHODS
79
82
  end
@@ -140,7 +143,12 @@ module DeviseTokenAuth
140
143
 
141
144
  ActiveSupport.on_load(:action_controller) do
142
145
  if respond_to?(:helper_method)
143
- helper_method "current_#{mapping}", "#{mapping}_signed_in?", "#{mapping}_session", "render_authenticate_error"
146
+ helper_method(
147
+ "current_#{mapping}",
148
+ "#{mapping}_signed_in?",
149
+ "#{mapping}_session",
150
+ 'render_authenticate_error'
151
+ )
144
152
  end
145
153
  end
146
154
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DeviseTokenAuth
2
4
  module Controllers
3
5
  module UrlHelpers
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise_token_auth/rails/routes'
2
4
 
3
5
  module DeviseTokenAuth
4
6
  class Engine < ::Rails::Engine
5
7
  isolate_namespace DeviseTokenAuth
6
8
 
7
- initializer "devise_token_auth.url_helpers" do
9
+ initializer 'devise_token_auth.url_helpers' do
8
10
  Devise.helpers << DeviseTokenAuth::Controllers::Helpers
9
11
  end
10
12
  end
@@ -12,6 +14,7 @@ module DeviseTokenAuth
12
14
  mattr_accessor :change_headers_on_each_request,
13
15
  :max_number_of_devices,
14
16
  :token_lifespan,
17
+ :token_cost,
15
18
  :batch_request_buffer_throttle,
16
19
  :omniauth_prefix,
17
20
  :default_confirm_success_url,
@@ -22,11 +25,17 @@ module DeviseTokenAuth
22
25
  :remove_tokens_after_password_reset,
23
26
  :default_callbacks,
24
27
  :headers_names,
25
- :bypass_sign_in
28
+ :cookie_enabled,
29
+ :cookie_name,
30
+ :cookie_attributes,
31
+ :bypass_sign_in,
32
+ :send_confirmation_email,
33
+ :require_client_password_reset_token
26
34
 
27
35
  self.change_headers_on_each_request = true
28
36
  self.max_number_of_devices = 10
29
37
  self.token_lifespan = 2.weeks
38
+ self.token_cost = 10
30
39
  self.batch_request_buffer_throttle = 5.seconds
31
40
  self.omniauth_prefix = '/omniauth'
32
41
  self.default_confirm_success_url = nil
@@ -36,35 +45,38 @@ module DeviseTokenAuth
36
45
  self.enable_standard_devise_support = false
37
46
  self.remove_tokens_after_password_reset = false
38
47
  self.default_callbacks = true
39
- self.headers_names = {:'access-token' => 'access-token',
40
- :'client' => 'client',
41
- :'expiry' => 'expiry',
42
- :'uid' => 'uid',
43
- :'token-type' => 'token-type' }
48
+ self.headers_names = { 'access-token': 'access-token',
49
+ 'client': 'client',
50
+ 'expiry': 'expiry',
51
+ 'uid': 'uid',
52
+ 'token-type': 'token-type' }
53
+ self.cookie_enabled = false
54
+ self.cookie_name = 'auth_cookie'
55
+ self.cookie_attributes = {}
44
56
  self.bypass_sign_in = true
57
+ self.send_confirmation_email = false
58
+ self.require_client_password_reset_token = false
45
59
 
46
60
  def self.setup(&block)
47
61
  yield self
48
62
 
49
63
  Rails.application.config.after_initialize do
50
64
  if defined?(::OmniAuth)
51
- ::OmniAuth::config.path_prefix = Devise.omniauth_path_prefix = self.omniauth_prefix
52
-
65
+ ::OmniAuth::config.path_prefix = Devise.omniauth_path_prefix = omniauth_prefix
53
66
 
54
67
  # Omniauth currently does not pass along omniauth.params upon failure redirect
55
68
  # see also: https://github.com/intridea/omniauth/issues/626
56
69
  OmniAuth::FailureEndpoint.class_eval do
57
70
  def redirect_to_failure
58
71
  message_key = env['omniauth.error.type']
59
- origin_query_param = env['omniauth.origin'] ? "&origin=#{CGI.escape(env['omniauth.origin'])}" : ""
60
- strategy_name_query_param = env['omniauth.error.strategy'] ? "&strategy=#{env['omniauth.error.strategy'].name}" : ""
61
- extra_params = env['omniauth.params'] ? "&#{env['omniauth.params'].to_query}" : ""
72
+ origin_query_param = env['omniauth.origin'] ? "&origin=#{CGI.escape(env['omniauth.origin'])}" : ''
73
+ strategy_name_query_param = env['omniauth.error.strategy'] ? "&strategy=#{env['omniauth.error.strategy'].name}" : ''
74
+ extra_params = env['omniauth.params'] ? "&#{env['omniauth.params'].to_query}" : ''
62
75
  new_path = "#{env['SCRIPT_NAME']}#{OmniAuth.config.path_prefix}/failure?message=#{message_key}#{origin_query_param}#{strategy_name_query_param}#{extra_params}"
63
- Rack::Response.new(["302 Moved"], 302, 'Location' => new_path).finish
76
+ Rack::Response.new(['302 Moved'], 302, 'Location' => new_path).finish
64
77
  end
65
78
  end
66
79
 
67
-
68
80
  # Omniauth currently removes omniauth.params during mocked requests
69
81
  # see also: https://github.com/intridea/omniauth/pull/812
70
82
  OmniAuth::Strategy.class_eval do
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DeviseTokenAuth
4
+ module Errors
5
+ class NoResourceDefinedError < StandardError; end
6
+ class InvalidModel < StandardError; end
7
+ end
8
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionDispatch::Routing
2
4
  class Mapper
3
5
  def mount_devise_token_auth_for(resource, opts)
@@ -6,31 +8,36 @@ module ActionDispatch::Routing
6
8
  opts[:skip] ||= []
7
9
 
8
10
  # check for ctrl overrides, fall back to defaults
9
- sessions_ctrl = opts[:controllers][:sessions] || "devise_token_auth/sessions"
10
- registrations_ctrl = opts[:controllers][:registrations] || "devise_token_auth/registrations"
11
- passwords_ctrl = opts[:controllers][:passwords] || "devise_token_auth/passwords"
12
- confirmations_ctrl = opts[:controllers][:confirmations] || "devise_token_auth/confirmations"
13
- token_validations_ctrl = opts[:controllers][:token_validations] || "devise_token_auth/token_validations"
14
- omniauth_ctrl = opts[:controllers][:omniauth_callbacks] || "devise_token_auth/omniauth_callbacks"
15
- unlocks_ctrl = opts[:controllers][:unlocks] || "devise_token_auth/unlocks"
11
+ sessions_ctrl = opts[:controllers].delete(:sessions) || 'devise_token_auth/sessions'
12
+ registrations_ctrl = opts[:controllers].delete(:registrations) || 'devise_token_auth/registrations'
13
+ passwords_ctrl = opts[:controllers].delete(:passwords) || 'devise_token_auth/passwords'
14
+ confirmations_ctrl = opts[:controllers].delete(:confirmations) || 'devise_token_auth/confirmations'
15
+ token_validations_ctrl = opts[:controllers].delete(:token_validations) || 'devise_token_auth/token_validations'
16
+ omniauth_ctrl = opts[:controllers].delete(:omniauth_callbacks) || 'devise_token_auth/omniauth_callbacks'
17
+ unlocks_ctrl = opts[:controllers].delete(:unlocks) || 'devise_token_auth/unlocks'
18
+
19
+ # check for resource override
20
+ route = opts[:as] || resource.pluralize.underscore.gsub('/', '_')
16
21
 
17
22
  # define devise controller mappings
18
- controllers = {:sessions => sessions_ctrl,
19
- :registrations => registrations_ctrl,
20
- :passwords => passwords_ctrl,
21
- :confirmations => confirmations_ctrl}
23
+ controllers = opts[:controllers].merge(
24
+ sessions: sessions_ctrl,
25
+ registrations: registrations_ctrl,
26
+ passwords: passwords_ctrl,
27
+ confirmations: confirmations_ctrl
28
+ )
22
29
 
23
30
  controllers[:unlocks] = unlocks_ctrl if unlocks_ctrl
24
31
 
25
32
  # remove any unwanted devise modules
26
- opts[:skip].each{|item| controllers.delete(item)}
33
+ opts[:skip].each{ |item| controllers.delete(item) }
27
34
 
28
- devise_for resource.pluralize.underscore.gsub('/', '_').to_sym,
29
- :class_name => resource,
30
- :module => :devise,
31
- :path => "#{opts[:at]}",
32
- :controllers => controllers,
33
- :skip => opts[:skip] + [:omniauth_callbacks]
35
+ devise_for route.to_sym,
36
+ class_name: resource,
37
+ module: :devise,
38
+ path: opts[:at].to_s,
39
+ controllers: controllers,
40
+ skip: opts[:skip] + [:omniauth_callbacks]
34
41
 
35
42
  unnest_namespace do
36
43
  # get full url path as if it were namespaced
@@ -41,8 +48,8 @@ module ActionDispatch::Routing
41
48
 
42
49
  # clear scope so controller routes aren't namespaced
43
50
  @scope = ActionDispatch::Routing::Mapper::Scope.new(
44
- path: "",
45
- shallow_path: "",
51
+ path: '',
52
+ shallow_path: '',
46
53
  constraints: {},
47
54
  defaults: {},
48
55
  options: {},
@@ -54,29 +61,29 @@ module ActionDispatch::Routing
54
61
 
55
62
  devise_scope mapping_name.to_sym do
56
63
  # path to verify token validity
57
- get "#{full_path}/validate_token", controller: "#{token_validations_ctrl}", action: "validate_token"
64
+ get "#{full_path}/validate_token", controller: token_validations_ctrl.to_s, action: 'validate_token' if !opts[:skip].include?(:token_validations)
58
65
 
59
66
  # omniauth routes. only define if omniauth is installed and not skipped.
60
67
  if defined?(::OmniAuth) && !opts[:skip].include?(:omniauth_callbacks)
61
- match "#{full_path}/failure", controller: omniauth_ctrl, action: "omniauth_failure", via: [:get]
62
- match "#{full_path}/:provider/callback", controller: omniauth_ctrl, action: "omniauth_success", via: [:get]
68
+ match "#{full_path}/failure", controller: omniauth_ctrl, action: 'omniauth_failure', via: [:get]
69
+ match "#{full_path}/:provider/callback", controller: omniauth_ctrl, action: 'omniauth_success', via: [:get]
63
70
 
64
- match "#{DeviseTokenAuth.omniauth_prefix}/:provider/callback", controller: omniauth_ctrl, action: "redirect_callbacks", via: [:get, :post]
65
- match "#{DeviseTokenAuth.omniauth_prefix}/failure", controller: omniauth_ctrl, action: "omniauth_failure", via: [:get, :post]
71
+ match "#{DeviseTokenAuth.omniauth_prefix}/:provider/callback", controller: omniauth_ctrl, action: 'redirect_callbacks', via: [:get, :post]
72
+ match "#{DeviseTokenAuth.omniauth_prefix}/failure", controller: omniauth_ctrl, action: 'omniauth_failure', via: [:get, :post]
66
73
 
67
74
  # preserve the resource class thru oauth authentication by setting name of
68
75
  # resource as "resource_class" param
69
- match "#{full_path}/:provider", to: redirect{|params, request|
76
+ match "#{full_path}/:provider", to: redirect{ |params, request|
70
77
  # get the current querystring
71
- qs = CGI::parse(request.env["QUERY_STRING"])
78
+ qs = CGI::parse(request.env['QUERY_STRING'])
72
79
 
73
80
  # append name of current resource
74
- qs["resource_class"] = [resource]
75
- qs["namespace_name"] = [namespace_name] if namespace_name
81
+ qs['resource_class'] = [resource]
82
+ qs['namespace_name'] = [namespace_name] if namespace_name
76
83
 
77
84
  set_omniauth_path_prefix!(DeviseTokenAuth.omniauth_prefix)
78
85
 
79
- redirect_params = {}.tap {|hash| qs.each{|k, v| hash[k] = v.first}}
86
+ redirect_params = {}.tap { |hash| qs.each{ |k, v| hash[k] = v.first } }
80
87
 
81
88
  if DeviseTokenAuth.redirect_whitelist
82
89
  redirect_url = request.params['auth_origin_url']