Por: Niklas Heidloff
Publicado em: 28 de novembro de 2017
Conteúdo arquivado | Data de arquivamento: 28/05/2020
Este conteúdo não está mais sendo atualizado ou mantido e está apresentado como "as is". Dada a rápida evolução da tecnologia, alguns materiais, etapas ou ilustrações podem ter recebido alterações.
Resumo
A IBM Cloud Functions, com base no Apache OpenWhisk, é uma plataforma Function-as-a-Service (FaaS) que executa funções em resposta a eventos recebidos e não possui custos se não está em uso. Ela é ativada quando o código é executado e desativada quando não é mais necessária. Neste padrão de código de desenvolvedor, demonstramos como utilizar a IBM Cloud Functions com OAuth 2.0 para ativar a autenticação e a autorização em uma aplicação da web.
Descrição
As aplicações da web precisam de autenticação e autorização. Tal fato parece redundante, mas, por vários anos, não houve nenhuma solução reutilizável. O OAuth definitivamente deu um grande passo adiante ao introduzir a autenticação e a autorização de terceiros. Ainda assim, ambas as ações consomem muitos recursos de empacotamento e hospedagem de implantação, levando em consideração que os usuários realizam login apenas uma vez a cada tanto tempo, em espaços relativamente longos.
Neste padrão de código, temos uma aplicação da web escrita em Angular. Vamos configurar a API Google OAuth para que os usuários possam fazer o login em suas contas da Google por meio do OAuth. É claro que, na aplicação da web, o código já existe para invocar a IBM Cloud Functions. Ainda precisamos definir as ações por meio do IBM CLI. Depois de conectarmos tudo, poderemos ver como o processo de login invoca a ação IBM Cloud Functions a fim de disparar a solicitação OAuth para a API da Google e retornar o token para a aplicação da web Angular. Observe que a aplicação da web não precisa ser hospedada em um ambiente específico; ela só precisa alcançar as APIs que não possuem servidor.
Fluxo
O usuário abre o Angular por meio do navegador da web e clica em login;
A aplicação Angular abre a página da web do Google OAuth, na qual os usuários autenticam e concedem acesso à aplicação;
A página da Google redireciona para a sequência OpenWhisk oauth-login-and-redirect com um parâmetro de código na URL;
A sequência é acionada. A primeira função OpenWhisk oauth-login lê o código e invoca um endpoint da API da Google a fim de trocar o código por um token;
A mesma função oauth-login invoca com o token outro endpoint da API da Google para ler as informações do perfil do usuário, como o nome do usuário;
A sequência invoca o próximo redirecionamento da função OpenWhisk, que invoca a aplicação Angular com o token e o nome do usuário na URL;
Quando os usuários clicam em invocar ação protegida na aplicação Angular, uma API REST para o gerenciamento de API é acionada. A solicitação contém o token;
O gerenciamento de API valida o token. Caso seja válido, a ação protegida da função OpenWhisk é acionada;
A resposta da ação protegida é exibida na aplicação Angular.
Instruções
Pronto para colocar esse padrão de código em uso? Os detalhes completos sobre como começar a executar e usar esta aplicação você encontra no arquivo README.
...
Quer ler mais conteúdo especializado de programação? Conheça o IBM Blue Profile e tenha acesso a matérias exclusivas, novas jornadas de conhecimento e testes personalizados. Confira agora mesmo, consiga as badges e dê um upgrade na sua carreira!
…..
Quer dar o próximo grande passo na sua jornada profissional? Participe do Cloud Training, um curso online e gratuito que vai te preparar para o exame da certificação IBM Cloud Foundations. Inscreva-se já!
Categorias