Diferència entre revisions de la pàgina «Autenticació OAuth 2.0»
(Es crea la pàgina amb «=Referències= *https://oauth.net/articles/authentication/ *https://oauth.net/2/ =Aplicació web amb autenticació OAuth2= =Tasques a realitzar= =Entrega= {{Autor}...».) |
m (→Referències) |
||
| Línia 2: | Línia 2: | ||
*https://oauth.net/articles/authentication/ | *https://oauth.net/articles/authentication/ | ||
*https://oauth.net/2/ | *https://oauth.net/2/ | ||
| + | =Introducció= | ||
| + | Amb l'autenticació OAuth2 podem autenticar-nos al domini ''jaumebalmes.net'', i delegar l'autenticació a ''google'', que en definitiva és qui gestiona aquest domini. Així doncs, ens validem contra google, amb els avantatges i inconvenients que això pot comportar. | ||
| + | ==Exemple: BDQuest== | ||
| + | L'aplicació '''BDQuest''' és una aplciació web que s'utiltiza a 1r de DAM per aprendre llenguatge SQL. Els alumnes s'autentiquen mitjançant el seu correu electrònic del domini ''jaumebalmes.net'' en un primer pas; i en un segon pas s'autentiquen contra la base de dades com a usuaris de l'aplicació. | ||
| + | *https://bdquest.joanillo.org | ||
| + | |||
| + | Exemple de classe: es dóna d'alta els alumnes per tal de poder utilitzar aquesta aplicació. | ||
| + | =Aplicació Javascript= | ||
| + | Abans d'obtenir les teves credencials per crear tu mateix una aplicació web que faci autenticació OAuth2, anem a veure l'exemple de codi que funciona. | ||
| + | |||
| + | Codi mínim que funciona: | ||
| + | |||
| + | script ''index_v1.html'': | ||
| + | <pre> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>OAuth2</title> | ||
| + | <script src="./js/index.js"></script> | ||
| + | <script src="https://apis.google.com/js/platform.js" async defer></script> | ||
| + | <meta name="google-signin-client_id" content="XXXXXXXX.apps.googleusercontent.com"> | ||
| + | </head> | ||
| + | <body> | ||
| + | <div id="email" class="login"></div> | ||
| + | <div class="g-signin2" data-theme="dark" data-onsuccess="onSignIn"></div> | ||
| + | <h1>Autenticació</h1> | ||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | script ''js/index.js'': | ||
| + | <pre> | ||
| + | var googleUser; // The current user. | ||
| + | var email; | ||
| + | |||
| + | window.addEventListener('load', (event) => { | ||
| + | init(); | ||
| + | }); | ||
| + | |||
| + | function init() { | ||
| + | console.log('init'); | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Autenticació oAuth al domini jaumebalmes.net | ||
| + | */ | ||
| + | function onSignIn(googleUser) { | ||
| + | var profile = googleUser.getBasicProfile(); | ||
| + | console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. | ||
| + | console.log('Name: ' + profile.getName()); | ||
| + | console.log('Image URL: ' + profile.getImageUrl()); | ||
| + | console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. | ||
| + | email = profile.getEmail(); | ||
| + | } | ||
| + | </pre> | ||
=Aplicació web amb autenticació OAuth2= | =Aplicació web amb autenticació OAuth2= | ||
Revisió del 13:15, 11 març 2022
Contingut
Referències
Introducció
Amb l'autenticació OAuth2 podem autenticar-nos al domini jaumebalmes.net, i delegar l'autenticació a google, que en definitiva és qui gestiona aquest domini. Així doncs, ens validem contra google, amb els avantatges i inconvenients que això pot comportar.
Exemple: BDQuest
L'aplicació BDQuest és una aplciació web que s'utiltiza a 1r de DAM per aprendre llenguatge SQL. Els alumnes s'autentiquen mitjançant el seu correu electrònic del domini jaumebalmes.net en un primer pas; i en un segon pas s'autentiquen contra la base de dades com a usuaris de l'aplicació.
Exemple de classe: es dóna d'alta els alumnes per tal de poder utilitzar aquesta aplicació.
Aplicació Javascript
Abans d'obtenir les teves credencials per crear tu mateix una aplicació web que faci autenticació OAuth2, anem a veure l'exemple de codi que funciona.
Codi mínim que funciona:
script index_v1.html:
<html> <head> <title>OAuth2</title> <script src="./js/index.js"></script> <script src="https://apis.google.com/js/platform.js" async defer></script> <meta name="google-signin-client_id" content="XXXXXXXX.apps.googleusercontent.com"> </head> <body> <div id="email" class="login"></div> <div class="g-signin2" data-theme="dark" data-onsuccess="onSignIn"></div> <h1>Autenticació</h1> </body> </html>
script js/index.js:
var googleUser; // The current user.
var email;
window.addEventListener('load', (event) => {
init();
});
function init() {
console.log('init');
}
/**
* Autenticació oAuth al domini jaumebalmes.net
*/
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
email = profile.getEmail();
}
Aplicació web amb autenticació OAuth2
Tasques a realitzar
Entrega
creat per Joan Quintana Compte, març 2022