Con 4D v19 R3, la connessione dell’applicazione all’API Microsoft Graph tramite OAuth 2.0 è diventata incredibilmente comoda utilizzando 4D NetKit.
Ora, con 4D v20 R2, è possibile ottenere senza problemi un token OAuth 2.0 per l’API di Google o per altri server OAuth 2.0. E ancora meglio, per migliorare ulteriormente l’integrazione di questo processo di autenticazione nella vostra applicazione, abbiamo introdotto una funzione che vi permette di visualizzare la vostra pagina HTML direttamente nel browser web una volta ricevuto il token.
Continuate a leggere per tutti i dettagli!
HDI Connect to GitHub con OAuth 2.0
Prerequisiti
Prima di ottenere un token dall’API di Google, il primo passo è ottenere le credenziali del client OAuth 2.0 dalla Google API Console. In questo modo si stabilisce una relazione di fiducia tra l’applicazione e l’API di Google. La fiducia è unidirezionale: l’applicazione si fida dell’API di Google, non viceversa.
Questo tutorial di Google è una risorsa eccellente per capire come utilizzare OAuth 2.0 per accedere alle API di Google.
La registrazione integra l’applicazione con la Google API Console e stabilisce le informazioni da utilizzare per ottenere i token, tra cui:
- un ID cliente: Un identificatore unico assegnato da Google API Console.
- un URI/URL di reindirizzamento: Uno o più endpoint in cui l’applicazione riceverà le risposte da Google API Console.
- un Client Secret: una chiave segreta che l’applicazione utilizza per autenticarsi con Google API Console.
ottenere un token di accesso da Google
È sufficiente utilizzare il comando New OAuth2 provider o le classi cs.NetKit.OAuth2Provider con l’attributo name uguale a “Google” per ottenere il token.
cs.NetKit.OAuth2Provider con tutte le informazioni fornite durante la registrazione:
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()
ottenere un token di accesso da altri server
È possibile utilizzare the New OAuth2 provider o la classe cs.NetKit.OAuth2Provider con server OAuth 2.0 diversi da Microsoft o Google. È sufficiente compilare l’authenticateURI e il tokenURI con gli URI specifici del proprio server OAuth 2.0 e verificare che il codice di autorizzazione restituito sia in formato JSON.
Ad esempio, è possibile collegare l’applicazione a GitHub con il codice seguente:
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()
Personalizzare le pagine dei risultati
Per visualizzare la propria pagina al termine dell’autenticazione, è necessario utilizzare gli attributi authenticationPage e authenticationErrorPage:
$param.authenticationPage:=Folder(fk web root folder).file("authentication.htm")
$param.authenticationErrorPage:=Folder(fk web root folder).file("error.htm")
Ci impegniamo costantemente per fornire ai nostri utenti la migliore esperienza possibile e vi invitiamo a condividere i vostri pensieri e feedback sul forum di 4D. Il vostro feedback ci aiuta a comprendere meglio le vostre esigenze e a migliorare continuamente i nostri prodotti e servizi.