Com 4D v19 R3, conectar sua aplicação ao Microsoft Graph API através de OAuth 2.0 se tornou incrivelmente conveniente usando 4D NetKit.
Agora, com 4D v20 R2, pode facilmente obter um token OAuth 2.0 para Google API ou outros servidores OAuth 2.0. E ainda melhor, para melhorar ainda mais a integração desse processo de autenticação em sua aplicação, introduzimos um recurso que permite exibir sua página HTML diretamente em seu navegador web uma vez que o token é recebido.
Continue lendo para saber todos os detalhes!
HDI Connect to GitHub usando OAuth 2.0
Pré-requisitos
Antes de obter um token da API do Google, a primeira etapa é obter as credenciais do cliente OAuth 2.0 no Console da API do Google. Estabelece uma relação de confiança entre a sua aplicação e a API do Google. A confiança é unidirecional: a sua aplicação confia na API do Google e não vice-versa.
Este tutorial da Google é um excelente recurso para compreender como utilizar o OAuth 2.0 para aceder às APIs do Google.
O registo integra a sua aplicação na Consola de API do Google e estabelece as informações que esta utiliza para obter tokens, incluindo:
- um ID de cliente: Um identificador exclusivo atribuído pela Consola de API do Google.
- um URI/URL de redireccionamento: Um ou mais pontos finais onde a sua aplicação receberá respostas da Consola de API do Google.
- a Segredo do cliente: uma chave secreta que a sua aplicação utiliza para se autenticar na Consola de API do Google.
Obter um token de acesso do Google
Só precisa de utilizar o comando New OAuth2 provider ou a classe cs.NetKit.OAuth2Provider com o atributo name igual a “Google” para obter o seu token.
cs.NetKit.OAuth2Provider classe com todas as informações fornecidas durante o registo:
var $oAuth2 : cs.NetKit.OAuth2Provider
var $param : Object
$param:={name:"Google"; \
permission:"signedIn"; \
clientId:"499730024306-rfub401kvb2794llikrtb4fphigrggt7.apps.googleusercontent.com"; \
clientSecret:"fc1kwxb6NMzEKi9Ka_fjvB2Z"; \
redirectURI:"http://127.0.0.1:50993/authorize/"; \
scope:"https://mail.google.com/"}
$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$token:=$oAuth2.getToken()
obter um token de acesso de outros servidores
Pode utilizar o comando the New OAuth2 provider ou a classe cs.NetKit.OAuth2Provider com outros servidores OAuth 2.0 que não sejam Microsoft ou Google. Só precisa de preencher o authenticateURI e o tokenURI com os URIs específicos do seu servidor OAuth 2.0 e verificar se o código de autorização devolvido está no formato JSON.
Por exemplo, pode ligar a sua aplicação ao GitHub com o código abaixo:
var $oAuth2 : cs.NetKit.OAuth2Provider
var $param : Object
$param:={permission:"signedIn"; \
clientId:"734e0b59xxx"; \
clientSecret:"125a576xxx"; \
redirectURI:"http://localhost:50993/authorize/"; \
scope:"repo, user"; \
authenticateURI:"https://github.com/login/oauth/authorize"; \
tokenURI:"https://github.com/login/oauth/access_token"}
$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$token:=$oAuth2.getToken()
Personalizar as páginas de resultados
Para exibir sua própria página no final da autenticação, é necessário usar os atributos authenticationPage e authenticationErrorPage:
$param.authenticationPage:=Folder(fk web root folder).file("authentication.htm")
$param.authenticationErrorPage:=Folder(fk web root folder).file("error.htm")
Nós constantemente nos esforçamos para fornecer a nossos usuários a melhor experiência possível, e nós o encorajamos a compartilhar seus pensamentos e feedback no fórum 4D. Seu feedback nos ajuda a entender melhor suas necessidades e melhorar continuamente nossos produtos e serviços.