예제 #1
0
        public IActionResult Cadastrar([FromBody] ColaboradorInsertRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(Response <ColaboradorInsertRequest>(req));
            }

            UsuarioDto dto = new UsuarioDto()
            {
                CpfCnpj      = req.Documento,
                Nome         = req.Nome,
                UsuarioDados = new UsuarioDadosDto()
                {
                    DataNascimento  = req.DataNascimento,
                    Logradouro      = req.Endereco.Logradouro,
                    Numero          = req.Endereco.Numero,
                    Complemento     = req.Endereco.Complemento,
                    Bairro          = req.Endereco.Bairro,
                    Cidade          = req.Endereco.Cidade,
                    UF              = req.Endereco.Uf,
                    CEP             = req.Endereco.Cep,
                    TelefoneFixo    = req.TelefoneFixo,
                    TelefoneCelular = req.TelefoneCelular,
                    Email           = req.Email
                },
                UsuarioLogin = new UsuarioLoginDto()
                {
                    Login = req.Documento,
                    Senha = MD5.ByteArrayToString(MD5.HashMD5(req.Senha))
                },
                UsuarioPerfil = new List <string>()
                {
                    "Colaborador"
                }
            };

            _appService.CadastrarColaborador(dto, out int statusCode, out object dados);

            return(StatusCode(statusCode, dados));
        }
예제 #2
0
        private async Task <AutenticacaoResponse> Autenticar(LoginViewModel model)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);

                /*
                 * Requisição
                 * {
                 *  "nome": "admin",
                 *  "senha": "202cb962ac59075b964b07152d234b70",
                 * }
                 *
                 * Resposta
                 * {
                 *  "sucesso" = "true",
                 *  "mensagem" = "mensagem do resultado da operação",
                 *  "token" = "hash informado se sucesso, caso contrário será nulo",
                 *  "dataValidade = "data de validade do token quando sucesso, em caso de falha será informado nulo"
                 * }
                 */

                AutenticacaoRequest request = new AutenticacaoRequest()
                {
                    Nome  = model.Login,
                    Senha = MD5.ByteArrayToString(MD5.HashMD5(model.Senha))
                };

                HttpResponseMessage result = await client.PostAsJsonAsync("/api/v1/usuario/autenticar", request);

                string conteudo = result.Content.ReadAsStringAsync().Result;
                AutenticacaoResponse response = JsonConvert.DeserializeObject <AutenticacaoResponse>(conteudo);

                return(response);
            }
        }
        /// <summary>
        /// Seed initial data
        /// </summary>
        /// <param name="migrationBuilder">A MicrationBuilder object instance</param>
        protected void Seed(MigrationBuilder migrationBuilder)
        {
            // Objects/Variables
            // -------------------------------------------------------

            DateTime now = DateTime.UtcNow;

            Guid scopeAuthId  = new("92a4ce2a-26ed-4ae2-9813-b7e5e6a8678d");
            Guid scopeAuthKey = new("8f7318ee-4027-4cde-a6d3-529e6382f532");

            Guid scopeMailId  = new("1f0f52a8-aab5-4ebd-af44-15c4cead48b7");
            Guid scopeMailKey = new("122b5aa2-0e8a-446f-8f05-a41236dac0e1");

            Guid scopePersonId  = new("d2401226-754a-4535-85bc-6a3e559da66d");
            Guid scopePersonKey = new("f686e46b-2b6f-4568-b5e4-fec9be48dcdd");

            Guid scopeEntryId  = new("3f3b94db-d868-4cb3-8098-214a53eccc35");
            Guid scopeEntryKey = new("cda09ab8-2b05-49e8-8eec-60ad6cfea2e5");

            Guid roleAdminId   = new("6e60ea33-244c-452a-ba49-d745729f8aa4");
            Guid roleServiceId = new("5d41c69f-276a-4b27-ab88-ebade519504d");

            Guid userId = new("745991cc-c21f-4512-ba8f-9533435b64ab");

            byte[] pwdBuffer = MD5.HashMD5($"master@soft|{_securityOptions.Secret}");
            string password  = MD5.ByteArrayToString(pwdBuffer);

            migrationBuilder.Sql("set foreign_key_checks=0");

            // Scopes
            // -------------------------------------------------------
            migrationBuilder.InsertData
            (
                nameof(Scope),
                new string[]
            {
                nameof(Scope.Id),
                nameof(Scope.AccessKey),
                nameof(Scope.AllowLogin),
                nameof(Scope.CreatedOn),
                nameof(Scope.CreatedBy),
                nameof(Scope.ChangedOn),
                nameof(Scope.ChangedBy),
                nameof(Scope.Name),
                nameof(Scope.IsActive),
                nameof(Scope.IsDeleted)
            },
                new object[] { scopeAuthId, scopeAuthKey, true, now, userId, null, null, "Authentication Service", 1, 0 }
            );
            migrationBuilder.InsertData
            (
                nameof(Scope),
                new string[]
            {
                nameof(Scope.Id),
                nameof(Scope.AccessKey),
                nameof(Scope.AllowLogin),
                nameof(Scope.CreatedOn),
                nameof(Scope.CreatedBy),
                nameof(Scope.ChangedOn),
                nameof(Scope.ChangedBy),
                nameof(Scope.Name),
                nameof(Scope.IsActive),
                nameof(Scope.IsDeleted)
            },
                new object[] { scopeMailId, scopeMailKey, true, now, userId, null, null, "Mail Service", 1, 0 }
            );
            migrationBuilder.InsertData
            (
                nameof(Scope),
                new string[]
            {
                nameof(Scope.Id),
                nameof(Scope.AccessKey),
                nameof(Scope.AllowLogin),
                nameof(Scope.CreatedOn),
                nameof(Scope.CreatedBy),
                nameof(Scope.ChangedOn),
                nameof(Scope.ChangedBy),
                nameof(Scope.Name),
                nameof(Scope.IsActive),
                nameof(Scope.IsDeleted)
            },
                new object[] { scopePersonId, scopePersonKey, true, now, userId, null, null, "Person Service", 1, 0 }
            );
            migrationBuilder.InsertData
            (
                nameof(Scope),
                new string[]
            {
                nameof(Scope.Id),
                nameof(Scope.AccessKey),
                nameof(Scope.AllowLogin),
                nameof(Scope.CreatedOn),
                nameof(Scope.CreatedBy),
                nameof(Scope.ChangedOn),
                nameof(Scope.ChangedBy),
                nameof(Scope.Name),
                nameof(Scope.IsActive),
                nameof(Scope.IsDeleted)
            },
                new object[] { scopeEntryId, scopeEntryKey, true, now, userId, null, null, "Entry Service", 1, 0 }
            );

            // Roles
            // -------------------------------------------------------
            migrationBuilder.InsertData
            (
                nameof(Role),
                new string[]
            {
                nameof(Role.Id),
                nameof(Role.CreatedOn),
                nameof(Role.CreatedBy),
                nameof(Role.ChangedOn),
                nameof(Role.ChangedBy),
                nameof(Role.Name),
                nameof(Role.IsActive),
                nameof(Role.IsDeleted),
                nameof(Role.Description),
                nameof(Role.ScopeId)
            },
                new object[] { roleAdminId, now, userId, null, null, "admin", 1, 0, "Administrator privileges, has access granted to all resources", scopeAuthId }
            );

            migrationBuilder.InsertData
            (
                nameof(Role),
                new string[]
            {
                nameof(Role.Id),
                nameof(Role.CreatedOn),
                nameof(Role.CreatedBy),
                nameof(Role.ChangedOn),
                nameof(Role.ChangedBy),
                nameof(Role.Name),
                nameof(Role.IsActive),
                nameof(Role.IsDeleted),
                nameof(Role.Description),
                nameof(Role.ScopeId)
            },
                new object[] { roleServiceId, now, userId, null, null, "service", 1, 0, "Service privileges, has access granted to all operations to be performed in the background", scopeAuthId }
            );

            // Users / Credentials
            // -------------------------------------------------------
            migrationBuilder.InsertData
            (
                nameof(User),
                new string[]
            {
                nameof(User.Id),
                nameof(User.CreatedOn),
                nameof(User.CreatedBy),
                nameof(User.ChangedOn),
                nameof(User.ChangedBy),
                nameof(User.IsActive),
                nameof(User.IsDeleted),
                nameof(User.Document),
                nameof(User.FirstName),
                nameof(User.LastName),
                nameof(User.BornDate),
                nameof(User.Email),
                nameof(User.Type)
            },
                new object[] { userId, now, userId, null, null, 1, 0, "11111111111", "Admin", "RSoft", new DateTime(1976, 11, 13, 0, 0, 0, DateTimeKind.Utc), "*****@*****.**", (int)UserType.User }
            );

            migrationBuilder.InsertData
            (
                nameof(UserCredential),
                new string[]
            {
                nameof(UserCredential.UserId),
                nameof(UserCredential.Login),
                nameof(UserCredential.Password),
                nameof(UserCredential.ChangeCredentials),
                nameof(UserCredential.AuthFailsQty),
                nameof(UserCredential.LockoutUntil)
            },
                new object[] { userId, "admin", password, _isProd, 0, null }
            );

            migrationBuilder.InsertData
            (
                nameof(User),
                new string[]
            {
                nameof(User.Id),
                nameof(User.CreatedOn),
                nameof(User.CreatedBy),
                nameof(User.ChangedOn),
                nameof(User.ChangedBy),
                nameof(User.IsActive),
                nameof(User.IsDeleted),
                nameof(User.Document),
                nameof(User.FirstName),
                nameof(User.LastName),
                nameof(User.BornDate),
                nameof(User.Email),
                nameof(User.Type)
            },
                new object[] { scopeAuthId, now, userId, null, null, 0, 0, GenerateUserDocument(), "Authentication", "Service", DateTime.UtcNow, "*****@*****.**", (int)UserType.Service }
            );

            migrationBuilder.InsertData
            (
                nameof(User),
                new string[]
            {
                nameof(User.Id),
                nameof(User.CreatedOn),
                nameof(User.CreatedBy),
                nameof(User.ChangedOn),
                nameof(User.ChangedBy),
                nameof(User.IsActive),
                nameof(User.IsDeleted),
                nameof(User.Document),
                nameof(User.FirstName),
                nameof(User.LastName),
                nameof(User.BornDate),
                nameof(User.Email),
                nameof(User.Type)
            },
                new object[] { scopeMailId, now, userId, null, null, 0, 0, GenerateUserDocument(), "Mail", "Service", DateTime.UtcNow, "*****@*****.**", (int)UserType.Service }
            );

            migrationBuilder.InsertData
            (
                nameof(User),
                new string[]
            {
                nameof(User.Id),
                nameof(User.CreatedOn),
                nameof(User.CreatedBy),
                nameof(User.ChangedOn),
                nameof(User.ChangedBy),
                nameof(User.IsActive),
                nameof(User.IsDeleted),
                nameof(User.Document),
                nameof(User.FirstName),
                nameof(User.LastName),
                nameof(User.BornDate),
                nameof(User.Email),
                nameof(User.Type)
            },
                new object[] { scopePersonId, now, userId, null, null, 0, 0, GenerateUserDocument(), "Person", "Service", DateTime.UtcNow, "*****@*****.**", (int)UserType.Service }
            );

            migrationBuilder.InsertData
            (
                nameof(User),
                new string[]
            {
                nameof(User.Id),
                nameof(User.CreatedOn),
                nameof(User.CreatedBy),
                nameof(User.ChangedOn),
                nameof(User.ChangedBy),
                nameof(User.IsActive),
                nameof(User.IsDeleted),
                nameof(User.Document),
                nameof(User.FirstName),
                nameof(User.LastName),
                nameof(User.BornDate),
                nameof(User.Email),
                nameof(User.Type)
            },
                new object[] { scopeEntryId, now, userId, null, null, 0, 0, GenerateUserDocument(), "Entry", "Service", DateTime.UtcNow, "*****@*****.**", (int)UserType.Service }
            );

            // User-Scopes
            // -------------------------------------------------------
            migrationBuilder.InsertData
            (
                nameof(UserScope),
                new string[] { nameof(UserScope.UserId), nameof(UserScope.ScopeId) },
                new object[] { userId, scopeAuthId }
            );

            // User-Roles
            // -------------------------------------------------------
            migrationBuilder.InsertData
            (
                nameof(UserRole),
                new string[] { nameof(UserRole.UserId), nameof(UserRole.RoleId) },
                new object[] { userId, roleAdminId }
            );

            migrationBuilder.Sql("set foreign_key_checks=1");
        }