Commit 1c6e944a8171f848a810a0a77a7fbe2f481712a9
Exists in
master
and in
1 other branch
Merge branch 'features/update_devise'
Showing
7 changed files
with
208 additions
and
73 deletions
Show diff stats
Gemfile
| ... | ... | @@ -5,7 +5,7 @@ gem 'mongoid', '~> 2.7.1' |
| 5 | 5 | |
| 6 | 6 | # Mongoid rails migration > 0.0.14 is not compatible to Mongoid 2.x |
| 7 | 7 | gem 'mongoid_rails_migrations', '~> 0.0.14' |
| 8 | -gem 'devise', '~> 1.5.4' | |
| 8 | +gem 'devise' | |
| 9 | 9 | gem 'haml' |
| 10 | 10 | gem 'htmlentities' |
| 11 | 11 | gem 'rack-ssl', :require => 'rack/ssl' # force SSL | ... | ... |
Gemfile.lock
| ... | ... | @@ -50,7 +50,7 @@ GEM |
| 50 | 50 | better_errors (0.9.0) |
| 51 | 51 | coderay (>= 1.0.0) |
| 52 | 52 | erubis (>= 2.6.6) |
| 53 | - binding_of_caller (0.7.1) | |
| 53 | + binding_of_caller (0.7.2) | |
| 54 | 54 | debug_inspector (>= 0.0.1) |
| 55 | 55 | bitbucket_rest_api (0.1.2) |
| 56 | 56 | faraday (~> 0.8.1) |
| ... | ... | @@ -103,12 +103,13 @@ GEM |
| 103 | 103 | debugger-linecache (1.2.0) |
| 104 | 104 | debugger-ruby_core_source (1.2.2) |
| 105 | 105 | decent_exposure (2.2.0) |
| 106 | - devise (1.5.4) | |
| 106 | + devise (2.2.4) | |
| 107 | 107 | bcrypt-ruby (~> 3.0) |
| 108 | - orm_adapter (~> 0.0.3) | |
| 109 | - warden (~> 1.1) | |
| 108 | + orm_adapter (~> 0.1) | |
| 109 | + railties (~> 3.1) | |
| 110 | + warden (~> 1.2.1) | |
| 110 | 111 | diff-lcs (1.2.4) |
| 111 | - dotenv (0.7.0) | |
| 112 | + dotenv (0.8.0) | |
| 112 | 113 | email_spec (1.4.0) |
| 113 | 114 | launchy (~> 2.1) |
| 114 | 115 | mail (~> 2.2) |
| ... | ... | @@ -121,7 +122,7 @@ GEM |
| 121 | 122 | multipart-post (~> 1.1) |
| 122 | 123 | faraday_middleware (0.8.8) |
| 123 | 124 | faraday (>= 0.7.4, < 0.9) |
| 124 | - ffi (1.8.1) | |
| 125 | + ffi (1.9.0) | |
| 125 | 126 | foreman (0.63.0) |
| 126 | 127 | dotenv (>= 0.7) |
| 127 | 128 | thor (>= 0.13.6) |
| ... | ... | @@ -191,8 +192,8 @@ GEM |
| 191 | 192 | bundler (>= 1.0.0) |
| 192 | 193 | rails (>= 3.0.0) |
| 193 | 194 | railties (>= 3.0.0) |
| 194 | - multi_json (1.7.6) | |
| 195 | - multi_xml (0.5.3) | |
| 195 | + multi_json (1.7.7) | |
| 196 | + multi_xml (0.5.4) | |
| 196 | 197 | multipart-post (1.2.0) |
| 197 | 198 | net-scp (1.1.1) |
| 198 | 199 | net-ssh (>= 2.6.5) |
| ... | ... | @@ -201,7 +202,7 @@ GEM |
| 201 | 202 | net-ssh (2.6.7) |
| 202 | 203 | net-ssh-gateway (1.2.0) |
| 203 | 204 | net-ssh (>= 2.6.5) |
| 204 | - nokogiri (1.5.9) | |
| 205 | + nokogiri (1.5.10) | |
| 205 | 206 | nokogiri-happymapper (0.5.7) |
| 206 | 207 | nokogiri (~> 1.5) |
| 207 | 208 | oauth2 (0.8.1) |
| ... | ... | @@ -225,7 +226,7 @@ GEM |
| 225 | 226 | omniauth-oauth2 (1.1.1) |
| 226 | 227 | oauth2 (~> 0.8.0) |
| 227 | 228 | omniauth (~> 1.0) |
| 228 | - orm_adapter (0.0.7) | |
| 229 | + orm_adapter (0.4.0) | |
| 229 | 230 | oruen_redmine_client (0.0.1) |
| 230 | 231 | activeresource (>= 2.3.0) |
| 231 | 232 | pivotal-tracker (0.5.10) |
| ... | ... | @@ -347,7 +348,7 @@ GEM |
| 347 | 348 | thor (0.18.1) |
| 348 | 349 | tilt (1.4.1) |
| 349 | 350 | timecop (0.6.1) |
| 350 | - treetop (1.4.12) | |
| 351 | + treetop (1.4.14) | |
| 351 | 352 | polyglot |
| 352 | 353 | polyglot (>= 0.3.1) |
| 353 | 354 | turbo-sprockets-rails3 (0.3.6) |
| ... | ... | @@ -393,7 +394,7 @@ DEPENDENCIES |
| 393 | 394 | database_cleaner (~> 0.9.0) |
| 394 | 395 | debugger |
| 395 | 396 | decent_exposure |
| 396 | - devise (~> 1.5.4) | |
| 397 | + devise | |
| 397 | 398 | email_spec |
| 398 | 399 | execjs |
| 399 | 400 | fabrication (~> 1.3.0) | ... | ... |
app/models/user.rb
| ... | ... | @@ -13,6 +13,28 @@ class User |
| 13 | 13 | field :per_page, :type => Fixnum, :default => PER_PAGE |
| 14 | 14 | field :time_zone, :default => "UTC" |
| 15 | 15 | |
| 16 | + ## Devise field | |
| 17 | + ### Database Authenticatable | |
| 18 | + field :encrypted_password, :type => String | |
| 19 | + | |
| 20 | + ### Recoverable | |
| 21 | + field :reset_password_token, :type => String | |
| 22 | + field :reset_password_sent_at, :type => Time | |
| 23 | + | |
| 24 | + ### Rememberable | |
| 25 | + field :remember_created_at, :type => Time | |
| 26 | + | |
| 27 | + ### Trackable | |
| 28 | + field :sign_in_count, :type => Integer | |
| 29 | + field :current_sign_in_at, :type => Time | |
| 30 | + field :last_sign_in_at, :type => Time | |
| 31 | + field :current_sign_in_ip, :type => String | |
| 32 | + field :last_sign_in_ip, :type => String | |
| 33 | + | |
| 34 | + ### Token_authenticatable | |
| 35 | + field :authentication_token, :type => String | |
| 36 | + | |
| 37 | + | |
| 16 | 38 | before_save :ensure_authentication_token |
| 17 | 39 | |
| 18 | 40 | validates_presence_of :name | ... | ... |
app/views/shared/_session.html.haml
| 1 | 1 | - if current_user |
| 2 | 2 | %ul#session-links |
| 3 | - %li= link_to 'Sign out', destroy_session_path(:user), :id => 'sign-out' | |
| 4 | - %li= link_to 'Edit profile', edit_user_path(current_user), :id => 'edit-profile' | |
| 5 | 3 | \ No newline at end of file |
| 4 | + %li= link_to 'Sign out', destroy_session_path(:user), :id => 'sign-out', :method => :delete | |
| 5 | + %li= link_to 'Edit profile', edit_user_path(current_user), :id => 'edit-profile' | ... | ... |
config/initializers/devise.rb
| 1 | -# Use this hook to configure devise mailer, warden hooks and so forth. The first | |
| 2 | -# four configuration values can also be set straight in your models. | |
| 1 | +# Use this hook to configure devise mailer, warden hooks and so forth. | |
| 2 | +# Many of these configuration options can be set straight in your model. | |
| 3 | 3 | Devise.setup do |config| |
| 4 | 4 | # ==> Mailer Configuration |
| 5 | - # Configure the e-mail address which will be shown in DeviseMailer. | |
| 5 | + # Configure the e-mail address which will be shown in Devise::Mailer, | |
| 6 | + # note that it will be overwritten if you use your own mailer class with default "from" parameter. | |
| 6 | 7 | config.mailer_sender = Errbit::Config.email_from |
| 7 | 8 | |
| 8 | 9 | # Configure the class responsible to send e-mails. |
| ... | ... | @@ -15,69 +16,131 @@ Devise.setup do |config| |
| 15 | 16 | require 'devise/orm/mongoid' |
| 16 | 17 | |
| 17 | 18 | # ==> Configuration for any authentication mechanism |
| 18 | - # Configure which keys are used when authenticating an user. By default is | |
| 19 | + # Configure which keys are used when authenticating a user. The default is | |
| 19 | 20 | # just :email. You can configure it to use [:username, :subdomain], so for |
| 20 | - # authenticating an user, both parameters are required. Remember that those | |
| 21 | + # authenticating a user, both parameters are required. Remember that those | |
| 21 | 22 | # parameters are used only when authenticating and not when retrieving from |
| 22 | 23 | # session. If you need permissions, you should implement that in a before filter. |
| 24 | + # You can also supply a hash where the value is a boolean determining whether | |
| 25 | + # or not authentication should be aborted when the value is not present. | |
| 23 | 26 | config.authentication_keys = [ Errbit::Config.user_has_username ? :username : :email ] |
| 24 | 27 | |
| 28 | + # Configure parameters from the request object used for authentication. Each entry | |
| 29 | + # given should be a request method and it will automatically be passed to the | |
| 30 | + # find_for_authentication method and considered in your model lookup. For instance, | |
| 31 | + # if you set :request_keys to [:subdomain], :subdomain will be used on authentication. | |
| 32 | + # The same considerations mentioned for authentication_keys also apply to request_keys. | |
| 33 | + # config.request_keys = [] | |
| 34 | + | |
| 35 | + # Configure which authentication keys should be case-insensitive. | |
| 36 | + # These keys will be downcased upon creating or modifying a user and when used | |
| 37 | + # to authenticate or find a user. Default is :email. | |
| 38 | + config.case_insensitive_keys = [ Errbit::Config.user_has_username ? :username : :email ] | |
| 39 | + | |
| 40 | + # Configure which authentication keys should have whitespace stripped. | |
| 41 | + # These keys will have whitespace before and after removed upon creating or | |
| 42 | + # modifying a user and when used to authenticate or find a user. Default is :email. | |
| 43 | + config.strip_whitespace_keys = [ Errbit::Config.user_has_username ? :username : :email ] | |
| 44 | + | |
| 25 | 45 | # Tell if authentication through request.params is enabled. True by default. |
| 46 | + # It can be set to an array that will enable params authentication only for the | |
| 47 | + # given strategies, for example, `config.params_authenticatable = [:database]` will | |
| 48 | + # enable it only for database (email + password) authentication. | |
| 26 | 49 | # config.params_authenticatable = true |
| 27 | 50 | |
| 28 | - # Tell if authentication through HTTP Basic Auth is enabled. True by default. | |
| 29 | - # config.http_authenticatable = true | |
| 30 | - | |
| 31 | - # Set this to true to use Basic Auth for AJAX requests. True by default. | |
| 51 | + # Tell if authentication through HTTP Auth is enabled. False by default. | |
| 52 | + # It can be set to an array that will enable http authentication only for the | |
| 53 | + # given strategies, for example, `config.http_authenticatable = [:token]` will | |
| 54 | + # enable it only for token authentication. The supported strategies are: | |
| 55 | + # :database = Support basic authentication with authentication key + password | |
| 56 | + # :token = Support basic authentication with token authentication key | |
| 57 | + # :token_options = Support token authentication with options as defined in | |
| 58 | + # http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Token.html | |
| 59 | + # config.http_authenticatable = false | |
| 60 | + | |
| 61 | + # If http headers should be returned for AJAX requests. True by default. | |
| 32 | 62 | # config.http_authenticatable_on_xhr = true |
| 33 | 63 | |
| 34 | - # The realm used in Http Basic Authentication | |
| 64 | + # The realm used in Http Basic Authentication. "Application" by default. | |
| 35 | 65 | # config.http_authentication_realm = "Application" |
| 36 | 66 | |
| 67 | + # It will change confirmation, password recovery and other workflows | |
| 68 | + # to behave the same regardless if the e-mail provided was right or wrong. | |
| 69 | + # Does not affect registerable. | |
| 70 | + # config.paranoid = true | |
| 71 | + | |
| 72 | + # By default Devise will store the user in session. You can skip storage for | |
| 73 | + # :http_auth and :token_auth by adding those symbols to the array below. | |
| 74 | + # Notice that if you are skipping storage for all authentication paths, you | |
| 75 | + # may want to disable generating routes to Devise's sessions controller by | |
| 76 | + # passing :skip => :sessions to `devise_for` in your config/routes.rb | |
| 77 | + config.skip_session_storage = [:http_auth] | |
| 78 | + | |
| 37 | 79 | # ==> Configuration for :database_authenticatable |
| 38 | 80 | # For bcrypt, this is the cost for hashing the password and defaults to 10. If |
| 39 | 81 | # using other encryptors, it sets how many times you want the password re-encrypted. |
| 40 | - config.stretches = 10 | |
| 41 | - | |
| 42 | - # Define which will be the encryption algorithm. Devise also supports encryptors | |
| 43 | - # from others authentication tools as :clearance_sha1, :authlogic_sha512 (then | |
| 44 | - # you should set stretches above to 20 for default behavior) and :restful_authentication_sha1 | |
| 45 | - # (then you should set stretches to 10, and copy REST_AUTH_SITE_KEY to pepper) | |
| 46 | - config.encryptor = :bcrypt | |
| 82 | + # | |
| 83 | + # Limiting the stretches to just one in testing will increase the performance of | |
| 84 | + # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use | |
| 85 | + # a value less than 10 in other environments. | |
| 86 | + config.stretches = Rails.env.test? ? 1 : 10 | |
| 47 | 87 | |
| 48 | 88 | # Setup a pepper to generate the encrypted password. |
| 49 | 89 | config.pepper = "425f10f555c1a4718aff3370ef9dd2d97a21622beb0400fde6b52177375ddcbe37a2dac6af9bca835c988e00c32887ee940ba111a78eab48234d8799936d36b9" |
| 50 | 90 | |
| 51 | 91 | # ==> Configuration for :confirmable |
| 52 | - # The time you want to give your user to confirm his account. During this time | |
| 53 | - # he will be able to access your application without confirming. Default is nil. | |
| 54 | - # When confirm_within is zero, the user won't be able to sign in without confirming. | |
| 55 | - # You can use this to let your user access some features of your application | |
| 56 | - # without confirming the account, but blocking it after a certain period | |
| 57 | - # (ie 2 days). | |
| 58 | - # config.confirm_within = 2.days | |
| 92 | + # A period that the user is allowed to access the website even without | |
| 93 | + # confirming his account. For instance, if set to 2.days, the user will be | |
| 94 | + # able to access the website for two days without confirming his account, | |
| 95 | + # access will be blocked just in the third day. Default is 0.days, meaning | |
| 96 | + # the user cannot access the website without confirming his account. | |
| 97 | + # config.allow_unconfirmed_access_for = 2.days | |
| 98 | + | |
| 99 | + # A period that the user is allowed to confirm their account before their | |
| 100 | + # token becomes invalid. For example, if set to 3.days, the user can confirm | |
| 101 | + # their account within 3 days after the mail was sent, but on the fourth day | |
| 102 | + # their account can't be confirmed with the token any more. | |
| 103 | + # Default is nil, meaning there is no restriction on how long a user can take | |
| 104 | + # before confirming their account. | |
| 105 | + # config.confirm_within = 3.days | |
| 106 | + | |
| 107 | + # If true, requires any email changes to be confirmed (exactly the same way as | |
| 108 | + # initial account confirmation) to be applied. Requires additional unconfirmed_email | |
| 109 | + # db field (see migrations). Until confirmed new email is stored in | |
| 110 | + # unconfirmed email column, and copied to email column on successful confirmation. | |
| 111 | + config.reconfirmable = true | |
| 112 | + | |
| 113 | + # Defines which key will be used when confirming an account | |
| 114 | + # config.confirmation_keys = [ :email ] | |
| 59 | 115 | |
| 60 | 116 | # ==> Configuration for :rememberable |
| 61 | 117 | # The time the user will be remembered without asking for credentials again. |
| 62 | 118 | config.remember_for = 2.weeks |
| 63 | 119 | |
| 64 | - # If true, a valid remember token can be re-used between multiple browsers. | |
| 65 | - # config.remember_across_browsers = true | |
| 66 | - | |
| 67 | 120 | # If true, extends the user's remember period when remembered via cookie. |
| 68 | 121 | # config.extend_remember_period = false |
| 69 | 122 | |
| 123 | + # Options to be passed to the created cookie. For instance, you can set | |
| 124 | + # :secure => true in order to force SSL only cookies. | |
| 125 | + # config.rememberable_options = {} | |
| 126 | + | |
| 70 | 127 | # ==> Configuration for :validatable |
| 71 | - # Range for password length | |
| 128 | + # Range for password length. Default is 8..128. | |
| 72 | 129 | config.password_length = 6..1024 |
| 73 | 130 | |
| 74 | - # Regex to use to validate the email address | |
| 131 | + # Email regex used to validate email formats. It simply asserts that | |
| 132 | + # one (and only one) @ exists in the given string. This is mainly | |
| 133 | + # to give user feedback and not to assert the e-mail validity. | |
| 134 | + # config.email_regexp = /\A[^@]+@[^@]+\z/ | |
| 75 | 135 | config.email_regexp = /^([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})$/i |
| 76 | 136 | |
| 77 | 137 | # ==> Configuration for :timeoutable |
| 78 | 138 | # The time you want to timeout the user session without activity. After this |
| 79 | - # time the user will be asked for credentials again. | |
| 80 | - # config.timeout_in = 10.minutes | |
| 139 | + # time the user will be asked for credentials again. Default is 30 minutes. | |
| 140 | + # config.timeout_in = 30.minutes | |
| 141 | + | |
| 142 | + # If true, expires auth token on session timeout. | |
| 143 | + # config.expire_auth_token_on_timeout = false | |
| 81 | 144 | |
| 82 | 145 | # ==> Configuration for :lockable |
| 83 | 146 | # Defines which strategy will be used to lock an account. |
| ... | ... | @@ -85,6 +148,9 @@ Devise.setup do |config| |
| 85 | 148 | # :none = No lock strategy. You should handle locking by yourself. |
| 86 | 149 | # config.lock_strategy = :failed_attempts |
| 87 | 150 | |
| 151 | + # Defines which key will be used when locking and unlocking an account | |
| 152 | + # config.unlock_keys = [ :email ] | |
| 153 | + | |
| 88 | 154 | # Defines which strategy will be used to unlock an account. |
| 89 | 155 | # :email = Sends an unlock link to the user email |
| 90 | 156 | # :time = Re-enables login after a certain amount of time (see :unlock_in below) |
| ... | ... | @@ -99,6 +165,26 @@ Devise.setup do |config| |
| 99 | 165 | # Time interval to unlock the account if :time is enabled as unlock_strategy. |
| 100 | 166 | # config.unlock_in = 1.hour |
| 101 | 167 | |
| 168 | + # ==> Configuration for :recoverable | |
| 169 | + # | |
| 170 | + # Defines which key will be used when recovering the password for an account | |
| 171 | + # config.reset_password_keys = [ :email ] | |
| 172 | + | |
| 173 | + # Time interval you can reset your password with a reset password key. | |
| 174 | + # Don't put a too small interval or your users won't have the time to | |
| 175 | + # change their passwords. | |
| 176 | + config.reset_password_within = 6.hours | |
| 177 | + | |
| 178 | + # ==> Configuration for :encryptable | |
| 179 | + # Allow you to use another encryption algorithm besides bcrypt (default). You can use | |
| 180 | + # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1, | |
| 181 | + # :authlogic_sha512 (then you should set stretches above to 20 for default behavior) | |
| 182 | + # and :restful_authentication_sha1 (then you should set stretches to 10, and copy | |
| 183 | + # REST_AUTH_SITE_KEY to pepper). | |
| 184 | + # | |
| 185 | + # Require the `devise-encryptable` gem when using anything other than bcrypt | |
| 186 | + # config.encryptor = :sha512 | |
| 187 | + | |
| 102 | 188 | # ==> Configuration for :token_authenticatable |
| 103 | 189 | # Defines name of the authentication token params key |
| 104 | 190 | config.token_authentication_key = :auth_token |
| ... | ... | @@ -107,45 +193,63 @@ Devise.setup do |config| |
| 107 | 193 | # Turn scoped views on. Before rendering "sessions/new", it will first check for |
| 108 | 194 | # "users/sessions/new". It's turned off by default because it's slower if you |
| 109 | 195 | # are using only default views. |
| 110 | - # config.scoped_views = true | |
| 196 | + # config.scoped_views = false | |
| 111 | 197 | |
| 112 | 198 | # Configure the default scope given to Warden. By default it's the first |
| 113 | - # devise role declared in your routes. | |
| 199 | + # devise role declared in your routes (usually :user). | |
| 114 | 200 | # config.default_scope = :user |
| 115 | 201 | |
| 116 | - # Configure sign_out behavior. | |
| 117 | - # By default sign_out is scoped (i.e. /users/sign_out affects only :user scope). | |
| 118 | - # In case of sign_out_all_scopes set to true any logout action will sign out all active scopes. | |
| 119 | - # config.sign_out_all_scopes = false | |
| 120 | - | |
| 121 | - if Errbit::Config.github_authentication || Rails.env.test? | |
| 122 | - config.omniauth :github, | |
| 123 | - Errbit::Config.github_client_id, | |
| 124 | - Errbit::Config.github_secret, | |
| 125 | - :scope => Errbit::Config.github_access_scope.join(","), | |
| 126 | - :skip_info => true | |
| 127 | - end | |
| 202 | + # Set this configuration to false if you want /users/sign_out to sign out | |
| 203 | + # only the current scope. By default, Devise signs out all scopes. | |
| 204 | + # config.sign_out_all_scopes = true | |
| 128 | 205 | |
| 129 | 206 | # ==> Navigation configuration |
| 130 | 207 | # Lists the formats that should be treated as navigational. Formats like |
| 131 | 208 | # :html, should redirect to the sign in page when the user does not have |
| 132 | 209 | # access, but formats like :xml or :json, should return 401. |
| 210 | + # | |
| 133 | 211 | # If you have any extra navigational formats, like :iphone or :mobile, you |
| 134 | - # should add them to the navigational formats lists. Default is [:html] | |
| 135 | - # config.navigational_formats = [:html, :iphone] | |
| 212 | + # should add them to the navigational formats lists. | |
| 213 | + # | |
| 214 | + # The "*/*" below is required to match Internet Explorer requests. | |
| 215 | + # config.navigational_formats = ["*/*", :html] | |
| 216 | + | |
| 217 | + # The default HTTP method used to sign out a resource. Default is :delete. | |
| 218 | + config.sign_out_via = :delete | |
| 219 | + | |
| 220 | + # ==> OmniAuth | |
| 221 | + # Add a new OmniAuth provider. Check the wiki for more information on setting | |
| 222 | + # up on your models and hooks. | |
| 223 | + # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo' | |
| 224 | + | |
| 225 | + if Errbit::Config.github_authentication || Rails.env.test? | |
| 226 | + config.omniauth :github, | |
| 227 | + Errbit::Config.github_client_id, | |
| 228 | + Errbit::Config.github_secret, | |
| 229 | + :scope => Errbit::Config.github_access_scope.join(','), | |
| 230 | + :skip_info => true | |
| 231 | + end | |
| 136 | 232 | |
| 137 | 233 | # ==> Warden configuration |
| 138 | - # If you want to use other strategies, that are not (yet) supported by Devise, | |
| 139 | - # you can configure them inside the config.warden block. The example below | |
| 140 | - # allows you to setup OAuth, using http://github.com/roman/warden_oauth | |
| 234 | + # If you want to use other strategies, that are not supported by Devise, or | |
| 235 | + # change the failure app, you can configure them inside the config.warden block. | |
| 141 | 236 | # |
| 142 | 237 | # config.warden do |manager| |
| 143 | - # manager.oauth(:twitter) do |twitter| | |
| 144 | - # twitter.consumer_secret = <YOUR CONSUMER SECRET> | |
| 145 | - # twitter.consumer_key = <YOUR CONSUMER KEY> | |
| 146 | - # twitter.options :site => 'http://twitter.com' | |
| 147 | - # end | |
| 148 | - # manager.default_strategies(:scope => :user).unshift :twitter_oauth | |
| 238 | + # manager.intercept_401 = false | |
| 239 | + # manager.default_strategies(:scope => :user).unshift :some_external_strategy | |
| 149 | 240 | # end |
| 150 | -end | |
| 151 | 241 | |
| 242 | + # ==> Mountable engine configurations | |
| 243 | + # When using Devise inside an engine, let's call it `MyEngine`, and this engine | |
| 244 | + # is mountable, there are some extra configurations to be taken into account. | |
| 245 | + # The following options are available, assuming the engine is mounted as: | |
| 246 | + # | |
| 247 | + # mount MyEngine, at: "/my_engine" | |
| 248 | + # | |
| 249 | + # The router that invoked `devise_for`, in the example above, would be: | |
| 250 | + # config.router_name = :my_engine | |
| 251 | + # | |
| 252 | + # When using omniauth, Devise cannot automatically set Omniauth path, | |
| 253 | + # so you need to do it manually. For the users scope, it would be: | |
| 254 | + # config.omniauth_path_prefix = "/my_engine/users/auth" | |
| 255 | +end | ... | ... |
config/locales/en.yml
| ... | ... | @@ -24,3 +24,11 @@ en: |
| 24 | 24 | error: "You can't delete yourself" |
| 25 | 25 | update: |
| 26 | 26 | success: "%{name}'s information was successfully updated." |
| 27 | + devise: | |
| 28 | + registrations: | |
| 29 | + signed_up_but_unconfirmed: 'A message with a confirmation link has been sent to your email address. Please open the link to activate your account.' | |
| 30 | + signed_up_but_inactive: 'You have signed up successfully. However, we could not sign you in because your account is not yet activated.' | |
| 31 | + signed_up_but_locked: 'You have signed up successfully. However, we could not sign you in because your account is locked.' | |
| 32 | + omniauth_callbacks: | |
| 33 | + failure: "Could not authenticate you from %{kind} because \"%{reason}\"." | |
| 34 | + success: "Successfully authenticated from %{kind} account." | ... | ... |
spec/acceptance/sign_in_with_github_spec.rb
| ... | ... | @@ -11,7 +11,7 @@ feature 'Sign in with GitHub' do |
| 11 | 11 | |
| 12 | 12 | visit '/' |
| 13 | 13 | click_link 'Sign in with GitHub' |
| 14 | - page.should have_content 'Successfully authorized from GitHub account' | |
| 14 | + page.should have_content I18n.t("devise.omniauth_callbacks.success", :kind => 'GitHub') | |
| 15 | 15 | end |
| 16 | 16 | |
| 17 | 17 | scenario 'reject unrecognized user if authenticating via GitHub' do | ... | ... |