Ejemplo n.º 1
0
        public override void LoadFor(DatabaseDocument databaseDocument)
        {
            var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(databaseDocument.Id);

            session.Advanced.LoadStartingWithAsync <AuthorizationUser>("Authorization/Users").
            ContinueOnSuccessInTheUIThread(data =>
            {
                AuthorizationUsers.Clear();
                foreach (var authorizationUser in data)
                {
                    AuthorizationUsers.Add(authorizationUser);
                }
                foreach (var authorizationUser in data)
                {
                    OriginalAuthorizationUsers.Add(authorizationUser);
                }
            });

            session.Advanced.LoadStartingWithAsync <AuthorizationRole>("Authorization/Roles").
            ContinueOnSuccessInTheUIThread(data =>
            {
                AuthorizationRoles.Clear();
                foreach (var authorizationRole in data)
                {
                    AuthorizationRoles.Add(authorizationRole);
                }
                foreach (var authorizationRole in data)
                {
                    OriginalAuthorizationRoles.Add(authorizationRole);
                }
            });
        }
        private void HandleDeleteAuthorizationUser(object parameter)
        {
            var user = parameter as AuthorizationUser;

            if (user == null)
            {
                return;
            }
            AuthorizationUsers.Remove(user);
            SelectedUser = null;
        }
Ejemplo n.º 3
0
        private async Task <AuthToken> GerarToken(UsuarioBase usuario, DateTime dataExpiracao)
        {
            var identityClaims = new ClaimsIdentity();

            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Sub, usuario.Id.ToString()));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Email));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Iat, ToUnixEpochDate(DateTime.UtcNow).ToString(), ClaimValueTypes.Integer64));

            switch (usuario)
            {
            case UsuarioCliente _:
                identityClaims.AddClaims(AuthorizationUsers.RetornarClaimsUsuario());
                break;
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var signingConf     = new SigningCredentialsConfiguration();
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Issuer             = _tokenDescriptor.Issuer,
                Audience           = _tokenDescriptor.Audience,
                SigningCredentials = signingConf.SigningCredentials,
                Subject            = identityClaims,
                NotBefore          = DateTime.UtcNow,
                Expires            = dataExpiracao
            };

            var token      = tokenHandler.CreateToken(tokenDescriptor);
            var encodedJwt = tokenHandler.WriteToken(token);

            var refreshToken = await GerarRefreshTokenAsync(usuario.Id);

            return(new AuthToken
            {
                result = new AuthResult
                {
                    access_token = encodedJwt,
                    expires_in = dataExpiracao,
                    refresh_token = refreshToken,
                    user = new AuthUser
                    {
                        id = usuario.Id,
                        nomeCompleto = usuario.NomeCompleto,
                        email = usuario.Email,
                        claims = identityClaims.Claims.Select(c => new AuthClaim {
                            type = c.Type, value = c.Value
                        })
                    }
                }
            });
        }
        private void HandleSearchUsers()
        {
            var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(ApplicationModel.Current.Server.Value.SelectedDatabase.Value.Name);

            session.Advanced.LoadStartingWithAsync <AuthorizationUser>("Authorization/Users/" + SearchUsers).
            ContinueOnSuccessInTheUIThread(data =>
            {
                AuthorizationUsers.Clear();
                OriginalAuthorizationUsers.Clear();
                foreach (var authorizationUser in data)
                {
                    AuthorizationUsers.Add(authorizationUser);
                }
                foreach (var authorizationUser in data)
                {
                    OriginalAuthorizationUsers.Add(authorizationUser);
                }
            });
        }
        public override void LoadFor(DatabaseDocument _)
        {
            var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(ApplicationModel.Current.Server.Value.SelectedDatabase.Value.Name);

            session.Advanced.LoadStartingWithAsync <AuthorizationUser>("Authorization/Users").
            ContinueOnSuccessInTheUIThread(data =>
            {
                AuthorizationUsers.Clear();
                foreach (var authorizationUser in data)
                {
                    AuthorizationUsers.Add(authorizationUser);
                }
                foreach (var authorizationUser in data)
                {
                    OriginalAuthorizationUsers.Add(authorizationUser);
                }

                AuthorizationUsers.CollectionChanged += (sender, args) => HasUnsavedChanges = true;
            });

            session.Advanced.LoadStartingWithAsync <AuthorizationRole>("Authorization/Roles").
            ContinueOnSuccessInTheUIThread(data =>
            {
                AuthorizationRoles.Clear();
                foreach (var authorizationRole in data)
                {
                    AuthorizationRoles.Add(authorizationRole);
                }
                foreach (var authorizationRole in data)
                {
                    OriginalAuthorizationRoles.Add(authorizationRole);
                }

                AuthorizationRoles.CollectionChanged += (sender, args) => HasUnsavedChanges = true;
            });
        }