Este artigo apresenta conceitos sobre a implementação de autenticação de usuários feita na plataforma IBM MobileFirst.
ArtigosMobileIBM MobileFirst: Autenticação de usuários
Autenticação de usuários com IBM MobileFirst
Este artigo apresenta conceitos sobre a implementação de autenticação de usuários feita na plataforma IBM MobileFirst. Essa implementação será exposta em dois tipos, implementação via Adapters escritos em JavaScript e via adapters escritos em Java. A implementação de autenticação de usuários é algo essencial para a maioria dos aplicativos. Enfrentar as questões cruciais de segurança e identificação de usuários é algo que pode ser muito complexo e, se não for, ao menos será trabalhoso e exigirá muito cuidado. Felizmente, a plataforma IBM MobileFirst já tem boa parte do caminho traçado, restando ao desenvolvedor apenas a implementação referente a sua própria regra de negócio.
O módulo de autenticação de
usuários presente nos sistemas é, certamente, um assunto recorrente nas
discussões sobre segurança da informação. É recomendado que seja definida e
planejada toda a parte de autenticação e identificação de usuários logo no início
de um projeto, ou até mesmo antes de ele ser iniciado, já que, com certeza, ele
poderá influenciar de modo geral o projeto. A implementação tardia dessa etapa
crucial da maioria dos aplicativos pode trazer muito impacto ao desenvolvimento
já existente.
A autenticação
de usuários pode ser realizada de diferentes modos, mas este artigo contemplará
os conceitos básicos da autenticação e apenas dois tipos: baseada em Adapters JavaScript
e baseada em Adapters Java. Os outros tipos de autenticação, não muito comuns,
são: Form-based, Header-based, LDAP e LTPA. O desenvolvimento de um sistema de
autenticação requer implementação do lado do servidor, mais especificamente em
Adapters escritos em JavaScript ou em Java. Além disso, é necessária a implementação
do lado cliente, que seria responsável pelo envio das credenciais e eventos da autenticação.
Os Adapters
baseados em JavaScript somam a facilidade e flexibilidade de se desenvolver em JavaScript
com os recursos poderosos da API Java. Esse recurso usa a engine chamada Rhino (veja
a sessão de Links) para rodar os
adapters escritos como scripts JavaScript em um servidor Java, como WebSphere
ou Tomcat.
Os Adapters
baseados em Java são um dos recursos adicionados à versão 7.0 do IBM
MobileFirst Platform. E não estamos falando apenas de chamadas a código Java,
como já era possível desde as primeiras versões da plataforma, estamos falando
de adapters escritos totalmente em Java, seguindo a especificação Java EE para serviços
RESTful, JAX-RS (veja a seção Links).
É recomendável
ter um conhecimento básico dos dois tipos de implementação, Adapters escritos
em JavaScript e Adapters escritos em Java, para decidir qual das duas vias
atende melhor aos requisitos da implementação da autenticação de usuários no
projeto. Nesse sentido, é importante também conhecer os conceitos centrais da
autenticação e identificação de usuários no IBM MobileFirst, uma vez que eles
podem impactar na escolha da tecnologia a ser usada.
Os termos
chave usados pela plataforma IBM MobileFirst para essa etapa no desenvolvimento
de aplicativos, e que poderiam ajudar na busca de maiores informações e
detalhes técnicos, são (ver Figura 1):
Realm, Security Test, Authenticator, Login Module, User Identity e Challenge
Handler. Esse último faz parte da implementação client-side. Ao longo do
artigo, cada um desses termos, seus objetivos e usos, serão esclarecidos.
Figura 1. Estrutura
do IBM MobileFirst.
Security-test
Do lado do
servidor, o security-test age como o
porteiro da entrada das requisições. Através dele, definimos que determinada
procedure ou resource só será acessado caso passe no teste de autenticação, ou
seja, caso o usuário que realize a requisição já esteja autenticado no
aplicativo. Nele identificamos o Realm,
que irá fornecer a resposta para as perguntas: "Esse usuário tem acesso a
esse recurso? Esse usuário está autenticado no Realm em questão?".
Para proteger
procedures de Adapters JavaScript, basta adicionar o atributo
"securityTest" na procedure a ser protegida no XML de configuração do
Adapter:
Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.
Em quanto tempo vou me tornar um programador?
O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.
Eu preciso de um diploma de faculdade para começar a atuar como programador?
Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.
Por que a programação se tornou a profissão mais promissora da atualidade?
A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.
Metodologia
Quais são os principais diferenciais da DevMedia?
Didática e Metodologia
Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios
Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno
Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação
A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.
O que eu irei aprender estudando pela DevMedia?
Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.
Quais as vantagens de aprender programação através da linguagem JavaScript?
Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens
A plataforma oferece certificados?
Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.
A plataforma tem suporte ao aluno, como funciona?
Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.
A DevMedia me forma como programador Full Stack?
Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!
Tem horário para as aulas?
Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.
Por que a DevMedia não usa videoaulas em sua didática?
Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.
Preciso de um computador específico para estudar na DevMedia?
Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.
Eu consigo estudar pelo celular?
Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.
A DevMedia tem aplicativo?
Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.
Preciso estar na faculdade para acompanhar os estudos na DevMedia?
Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.
Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?
Oferecemos o plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX
Adquirindo o plano, terei acesso a todo o conteúdo?
Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.
A plataforma tem planos vitalícios?
Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.
A DevMedia tem fidelidade?
Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.
Como funciona o cancelamento?
Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.
Cadastro
Como excluir meus dados da plataforma?
Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.