2016-02-24 11:57:29 +00:00
|
|
|
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
|
2016-02-22 15:00:20 +00:00
|
|
|
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
|