You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
505 B
18 lines
505 B
class SetupLocalAccountService < BaseService |
|
# Setup an account for a new user instance by generating |
|
# an RSA key pair and a profile |
|
# @param [User] user Unsaved user instance |
|
# @param [String] username |
|
def call(user, username) |
|
user.build_account |
|
|
|
user.account.username = username |
|
user.account.domain = nil |
|
|
|
keypair = OpenSSL::PKey::RSA.new(2048) |
|
user.account.private_key = keypair.to_pem |
|
user.account.public_key = keypair.public_key.to_pem |
|
|
|
user.save! |
|
end |
|
end
|
|
|