Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
b356ce7e
Commit
b356ce7e
authored
Mar 21, 2017
by
James Lopez
Committed by
Sean McGivern
Mar 21, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a rake task to reset all email and private tokens
parent
4ebc6239
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
0 deletions
+63
-0
changelogs/unreleased/feature-tokens-rake-task.yml
changelogs/unreleased/feature-tokens-rake-task.yml
+4
-0
lib/tasks/tokens.rake
lib/tasks/tokens.rake
+38
-0
spec/tasks/tokens_spec.rb
spec/tasks/tokens_spec.rb
+21
-0
No files found.
changelogs/unreleased/feature-tokens-rake-task.yml
0 → 100644
View file @
b356ce7e
---
title
:
New rake task to reset all email and private tokens
merge_request
:
author
:
lib/tasks/tokens.rake
0 → 100644
View file @
b356ce7e
require_relative
'../../app/models/concerns/token_authenticatable.rb'
namespace
:tokens
do
desc
"Reset all GitLab user auth tokens"
task
reset_all_auth: :environment
do
reset_all_users_token
(
:reset_authentication_token!
)
end
desc
"Reset all GitLab email tokens"
task
reset_all_email: :environment
do
reset_all_users_token
(
:reset_incoming_email_token!
)
end
def
reset_all_users_token
(
reset_token_method
)
TmpUser
.
find_in_batches
do
|
batch
|
puts
"Processing batch starting with user ID:
#{
batch
.
first
.
id
}
"
STDOUT
.
flush
batch
.
each
(
&
reset_token_method
)
end
end
end
class
TmpUser
<
ActiveRecord
::
Base
include
TokenAuthenticatable
self
.
table_name
=
'users'
def
reset_authentication_token!
write_new_token
(
:authentication_token
)
save!
(
validate:
false
)
end
def
reset_incoming_email_token!
write_new_token
(
:incoming_email_token
)
save!
(
validate:
false
)
end
end
spec/tasks/tokens_spec.rb
0 → 100644
View file @
b356ce7e
require
'rake_helper'
describe
'tokens rake tasks'
do
let!
(
:user
)
{
create
(
:user
)
}
before
do
Rake
.
application
.
rake_require
'tasks/tokens'
end
describe
'reset_all task'
do
it
'invokes create_hooks task'
do
expect
{
run_rake_task
(
'tokens:reset_all_auth'
)
}.
to
change
{
user
.
reload
.
authentication_token
}
end
end
describe
'reset_all_email task'
do
it
'invokes create_hooks task'
do
expect
{
run_rake_task
(
'tokens:reset_all_email'
)
}.
to
change
{
user
.
reload
.
incoming_email_token
}
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment