Erotik Mollig, Gratis Oma Pornofilme, Versaute German Sexorgie Im Cuckold Style, Jungs Am Fkk Strand, Dolly Buster Free Porn, Free 18 Sex Tube, Buerosexfilme, Teen Girl Porn, Suche Nach Tag Reife Ficksau, Heuteporno Geil, Reife Alte Frauen, Free Porn Gratis, Chubby Dominantix Siting On Slavecomma, Haarige Moesen Porno, Masturbieren Richtig, Penis Abmelken, Hobbyhure Tempelhof, Sweet Teen Porno, Erziehung Zur Sexsklavin, Facesitting Piss, Escort Giessen, Sister Fucks Brother, Penis Pumpe Porno, Girlfriend Fuck, Bang Porn, Teen Sex Videos Kostenlos, Youporn Hamster, Rough Sex For Kinky German Amateurs Letsdoeitperiod, Ibbenbueren Sex, Schwarzhaarige Deutsche Fickbombe Gepimpert, Die Wunderschoene Kolumbianische Amateurin Katy Verleiht Ihm Einen Atemberaubenden Blasen In Pov, Hardcore Anal Dildo, Nutten In Potsdam, Penetration Anal, Kleine Enge Muschis, Vintage Porno Videos, Qi Qi Aal Video, Wwweroprofile, Zoe Parker Porn, Nasse Muschi Lecken, Sex Kontakte Ansbach, Langsamer Sex Hd Tube, Madelyn Marie Creampie, Wilder Oma Sex Mit Hartem Arsch Ficken, Maschinen Sex Videos, Sexgeschichten Ch, Sie Sucht Tg, Er Sucht Ihn Markt De Keuln, Erotische Massagen Video, Scheissende Frauen, Cute German Teens First Bukkake Party, Deutsche Bruenette Milf Hobbyhure Besucht Kunden Zuhause, Blond Sex Tube, Porno Sweet, Oma Muss Pissen, Deutsche Bbw Lutscht Ihrem Macker Das Arschloch Aus, Marilyn Mansion Porn, Atschfick, Milf 70, Frauen Mit Haengebruesten, Hobbyhuren Herne, Angelina Crow, Porno Stars Ficken, Suche Nach Tag Tuerkin Ficken, Videos Porno Gratis, Sport Muschis, Porn Missionar, German Dub Hentai, Nutten Net Dresden, Lili Marlene Porn, Versaute Inzest Rammelei Mit Conny Dachs, Sex Parkplatz, Maedchen Selbsbefriedigung, Porno Film Com, Jill Summer Fickt Im Porno Deutsch Mit Horst Baron, Domina Suchen, Deutsche Im Zug Gefickt, Futanari Kostenlos, Bondage Andreaskreuz, Hobby Huren Dresden, Sydni Lane Porn, Frei Sex Video, Porn Batman, Star Wars Rey Porn, Aurora Snow Gangbang, Regisseur Fickt Deutsche Schuelerin 18 Teen Mit Creampie, Dicke Titten Reife Frauen, Bruenette Ist Ein Grosser Fan Von Doppelpenetration, Reif Ficken, Heisses Model, Escort Ratingen, Sex Treffen Stuttgart, Taetowierte Deutsche Lutsch Nutte Und Ihr Macker Beim Ficken, Porn Restaurant, Sex Mit Junger Schlampe Bei Deutscher Assi Party, Geile Hausfrau Nackt, Latina Wird Gefickt, Remy Lacroix Cum, Japsen Schlampe Pisst Und Scheisst Ihm Ins Maul, Poppen 69, Schlanke Kleintittige Bloinde Bei Deutschem Swingerfick, Porrnoruf, Celebrity Sex Scenes Tube, German Teen Sluts, Die Beliebtesten Videos Von Tag Reife Frauen Porno, Top Bewertete Videos Von Tag Kitzler Fingern, Humiliation Sex Tube, Po Rno Kostenlos, Junge Stiefel Nutte Laesst Sich Lecken Und Voegeln, Sperma In Meuse, 3d Sex Tube Free, Cam Nackt, Sextreffen In Aachen, Free Legal Teen Porn, Selena Rose Porno, Nutten In Soest, Deutsche Latex Schlampe Macht Schwanz Veredelung, Leya Falcon, Nessa Devil Liebt Gefilmt Auf Kamera, Top Bewertete Videos Von Tag Fette Titten, German Mom Anal, Mega Titten Tattoo Schlampe Bei Versauten Dirty Talk Selbstbefriedigung German Orgasm, Gloria Porn, German Swingers Wife Swap, Verfuehrerische Ebenholz Schlampen Annie Cruz Ist Gequaelt Von Ihrem Meister, Hobbyhuren Gladbeck, Ehefrau Veugelt Fremd, Erotik Massage Wiesbaden, Puta Locura Gangbang, India Summer Video, Lillyfee Squirt Video, Blonde Tussi, Menage A Droit, Xxx Filme Stream, Cunnilungis, Teen Squirt, Junges German Girl Hart Beim Dreier Auf Dem Bahnhofsklo Gefickt, Hobbyhuren Olpe, Muschi Cam, Geile Blondine Ficken, I Xxxcom, Pussy Lecken, Abspritzen In Fotze, Nackte Maedchen 18, Schulmaedchen Bdsm, Sexshop Heilbronn, Grosse Fotze, Eveline Neill, Freeporngerman, Deutsche Hausfrau Bonny Ist Voellig In Saugen Dicken Schwanz, Destiny Porno, Fak Taxi, Xxx Ok, Sarah Young Porn, Thai Pornofilme, Riesige Gespannte Ts Priscylla Modella, Nackte Frauen Heimlich Gefilmt, American Dad Comic Porno, Gefangen Gefickt, Taxi Porno, Pornofilme Inzest, Kerala Hidden Cam Sex, Paerchentreff Burgdorf, Nicole Aniston Com, Spy Cam Doctor Porn, Neue Porno Stars, Kaputtgefickt, Stream German Porn, Nicht Alle Muschis Sind Gut Zu Voegeln, Extrem Dildo Porn, Dicker Schwanz Tube, Nicole Aniston Creampie, My Dirty Hobby Loyalty Test Gone Wrong With Wifes Hot Friend, Alt Und Haarig, Peter Elke Auf Das Die Liebe Nicht Welke, Alexa Rydell, Laengste Videos Nach Tag Deutsche Swinger, Nackte Heisse Frau, Die Beliebtesten Videos Von Tag German Milf, Inzest Xxx, Schwaenze Spritzen, Geschmackvolle Dunkle Behaarte Amateur Gibt Kopf Zu Einem Harten Penis Nach Der Begruessung Eine Mas, Junge Strapsluder Teilen Sich Einen Schwanz, Bbw Granny Anal, Votze Auslecken, Erotick, Jade Nile Pornos Sexfilme Kostenlos Frauporno, Anal Doggy, Onkel Fickt Seine Nichte, Geile Blonde Milf Genossen Hard Anal Sex Im Freien, Wwwsenior69com, Meli Deluxe Fickt Gemeinsam Mit Deutschem Paar Auf Der Liebesschaukel, Oma Und Enkel Pornos, Freie Pornus, Erotik Langenhagen, Ballbusting Handjob, Wwwxhamstercom, Nackte Dunkelhaarige Frauen, Sexfilm, Sandy223 Bekommt Die Maulfotze Gestopft, Tube Fun Sex, Asian Uncensored Sex Tube, Tittyattack, Schnuggie91 Blowjob, Sex Tube 88, Schoene Geile Omas, Zooseks, Fetisch Sex Tube, Omi Xxx, Peta Jensen Free Videos, Blutjunge Sportlehrerin Ginaplay Im Fitnesscenter Vom Trainingspartner Gebumst, Tantra Massage Paderborn, Homemade Hd Porn, Bravo Teenie Im Retro Porno Deutsch Im Kinderzimmer Gebumst, Escort Saarland, Asa Akura, Old German Dirty Slave With Big Ass And Large Tits Got Hit With A Whip On Her Back In A Dungeon, Lesbian Bdsm Video, Ficken Am Fenster, Hd Porncom, Lustige Sex Video, Leah Gotti Hd Porn, Alte Maenner Ficken Junge Frauen, Busty German Stepmoms First Fuck Orgy, Asia Girl Porno, Sexgeschichte Nichte, Hamsterpono, Erotic Tits, Eva Karera Pornos Sexfilme Kostenlos Frauporno, Hand Amputierte Schlampe Fickt Mit Gaertner Im Freien, Mega Pussys, Free Porm, Blonde Girl Fucks Her Snatch With A Cucumber Before Enjoying A Real Cockexcl, Outdoor Sex Hd, Sex Comik, Kostenlose Freie Pornos, Laengste Videos Nach Tag Face Sitting, Arsch Voll Bekommen, Deutsche Molli Mutter Vom Stiefsohne Durch Gefickt, Deutsch Milf Ficken Zwei Jungs, Schoene Titten, Nacktbilder Von Prominenten, Versaute Ficknutten Im Porno Deutsch Im Sexrausch, Pornhublivecom, Domina 25746, Lisa Ann Handjob, Kostenlos Blasen, Erotische Massagen Bonn, Erotische Paarmassage, Die Beliebtesten Videos Von Tag Club Seventeen, Free Mature German, Klixen Cumshot, Transen Tamarah Camargo Masturbieren Mit Anal Sex Spielzeug, Sexy Blondine Mit Kleinen Titten Candice Dare Geniesst Schmutzigen Anal Haemmern, Wife Fucks Sexy Friend From Bar, Wixen In Der Euffentlichkeit, Lingeri Sex Tube, Sybella Porn, Atemreduktion Beim Orgasmus, Junges Girl Ist Scharf Auf Stand Schwanz, Miley Cyrus Sex Tape Tube, Fickparty Gruppensex Bei Dem Jeder Mal Ran Darf Und Die Teens Benutzen Darf, Datmowe Porno, Kumpel Kommt Nach Hause Findet Seine Frau Einen Anderen Mann Schwanz Saugen Auf Der Couch, Penny Payne Porno, Alexis Texas Hot, Full Sex Movies Tube, Inzest Tube Porn, Ficken Bruenette, Kann Man Squirten Lernen, Wwporno, Benutzte Tangas, 18 Jaehrige Pornodarstellerin, Schlaege Auf Po, Mom And Son Porn Video, Deutsche Lesben Videos, Nackte Alte Moesen, Hardcore Sexvideo, Asian Cute Porn, Tittencom, Cum On Nylon Feet, Besoffene Alte Auf Der Strasse Angesprochen Und Durchgefickt, Hurensex, Sperma Im Mund Porno, Sexshop Goslar, Auf Titten Wichsen, Der Porno Praktikant, Dildo Faust, Tantra Massage Gera, Zwangs Entsamung, Skyp Sex Cam, Alte Fickleucher, Asia Sex Gratis, Deutsche Handypornos, Granny Fotzen, Sex Vor Publikum, Nutte Eingeritten, Porno Spiele Deutsch, Urlaubssex Mit Deutscher Goere Ginaplay, Oeive Sex Cam, Free Soft Porno, Geiler Arsch Geile Titten, Behaarte Frauen Veugeln, Tittenhimmel, Gypsy Page Porno, Mydirtyhobby Gorgeous Party Babe Hanna Secret Went In The Shower And Stripped Down For A Rough Fuc, Bus Sex Tube, Reife Vagina, Teen Opa, Extreme Bizarre Porn, Lespen In Der Dusche, Junge Speckfee Laesst Sich Am Nikolaus Tag Poppen, Free Retro Porn, Oeucy Cat, Mom Daugther Porn, Alt Fett Und Geil, Devkycom, Diane Chrystall, Deutsche Porn Hd, Hand In Fotze, Free Oldie Sex, Woodman Casting, Teen Sex Tube Com, Orgie Porno, Porno Kostenlos Teen, Pussy Porn Cam, Bethkinky Model Page, Pornhub Gay, Blonde Schlampen Braucht Eine Gute Doppelpenetration, Sex Com Xnxx, Alte Frau Verfuehrt, Pornoszenen, Mit Einer Maschine Gefickt, Michael Schaefer Physiotherapie, Live Porn Cam Hd, Reife Damen 50, Steife Nippel Porno, Friends Wanking, Compilation Porn Hd, Camper Porn, Pornos Pov, Pornos For Free, Voyeur Porn Free, Er Sucht Ihn In Freiburg, Proffessor Porno, Putzen Porno, Kagney Linn Karter Bekommt Massage Von Kollegen, German Saggy Tits, Kopf In Der Muschi, Ronaldo Porno, Fat Bitch Porn, Hot Moms Bang Teens, Glory Hole Creampie, Wwwpornhubcom 1, Perverser Dreier, Grosser Sex, Fick Im Fitnessstudio, Tuerkenfotze, Blass Schlampen Mit Saftigen Titten Mattie Geht Nuesse Waehrend Der Einnahme Von Bbc In Schlitz, Sextreff Bremen, Laengste Videos Nach Tag Behaarte Muschi, Solarium Squirt, Olinka Hardiman Porn, Teen Sex Mit Tieren, Kendra Wilkinson Porn, Frauen Einen Blasen, Gut Blasen, Teenie Schlampe Brutal Benutzt Zum Gangbang, Porno Kostenlos Gay, 90s Porn, Muschi Geoeffnet, Michelle Mclaren Porn, Milf Petra, Transsexuelle Ficken, Armateur Community, Pornrabitt, Deutsche Sexfilme 70er, Mature Boy Sex Tube, Ao Braunschweig, Machine Hentai, Die Vollbusige Blonde Schoenheit Chloe Foster Fuehlt Sich Gut Wenn Sie Schlampige Fette Bbc Faehrt, Reife Frau Lecken, Riesenschwanz Forum, Sex Ladies De, Sex Im Saunaclub, Mira Grey Creampie, Free Iranian Sex, Porn Vodeo, Nippel Xxx, Vater Fickt Tochter Hart, Ep Hcvdvx1084 594, Porno Mit Schwangeren Frauen, Spermaschlucker, Swinger Frauen, Ungewollt Porn, Scheune Bruenette, Sanfte Porno, Kesses Blondchen Anal Eingeritten, Deutsche Business Hure Verfuehrt Black Schwanz, Laengste Videos Nach Tag Piss Porno, Inzest Deutsch Pornos, Anal Sex Com, Das Erste Mal Sex Video, Sex Clips, Porn Slow, Faszinierende Bruenette Alyssia Kent Haken Mit Fussfetischisten, Gratis Teen Porno, Private Deutsche Amateure, Nackte Frau Im Schnee, Two Squirters And Really Horny Dirty Talk Instead Of Dvd Evening, Old Granny Sex Tube, Riley Reid Interracial, Porno Schwiegermutter, Willige Deutsche Specksau Beim Dreier Durch Gebuerstet, Waitress Porn, Suche Sex Bilder, Kenzie Kellie Ist Sehr Zierlich Kann Aber Mit Einem Riesigen Schwanz Umgehen, Orgasmus Milf, Mom Helps Son Porn, Dicke Negerin Ficken, Promis Sextape, Selfie Muschi, German Mature Toilet Whore, Drei Sklavenrosetten Von Lady Susan Erzogen, Nutten Homburg, Tube8 X, Pierre Woodman Com, Sextreffen Kassel, Deutsche Anfaengerin Beim Ersten Porno Mit User, Mature Pervers, Haarige Fickvotze Durchgerammelt, Porn Rimming, Mad Stiefmutter Alexis Fawx Bestraft Stiefsohn Fuer Spaehen, Geile Dicke Lesben, Geile Sex Videos Kostenlos, Fotze Lecken Und Fingern, Lila Vibrator, Sextreffen In Wittenberg, Die Lesben Schlampe Aus Dem Versandhaus, Schlanke Deutsche Goere Gibt Footjob Im Urlaub, Mollige Videos, Dcke Titten, Militaer Porno, Gewalt Sex Videos, Spermateens, Inzestsexfilme, Foze Lecken, Taschenmeuse, Laengste Videos Nach Tag Dicke Weiber Ficken, Hot German Teen Rough And Deep Ass Fuck By Huge Cock Boy, Deutsche Goere Nagelt Und Lutscht Monsterschwanz, Fat Pussy Porn, Schoene Asiatische Schlampe Bekommt Schlug Durch Zwei Geile Jungs Hart, Nasse Deutsche Fotzen, Nur Besuchbar Adicionando autenticação do Google ao seu web app - Fábrica de Código

Fábrica de Código

Criando um Projeto e um Client id no Google Developer Console

Antes de integrar seu app com qualquer produto do Google é necessário criar um projeto e um client ID no Google Developer Console.

Para criar um projeto, basta seguir os passos abaixo

1 – Acessar a página do Google Developer Console

2 – Selecione ou crie um novo projeto clicando no botão “Criar projeto”

Criando um projeto no Google console


Nota: Use o mesmo projeto para todas as versões do seu aplicativo, seja ele Web, Android, IOS. Cada um com um Client ID diferente.

3 – Na tela que abrir, informe o nome do projeto e clique em “Criar”.

Criando projeto no google Console

4 – No menu clique em “Gerenciador de API”

Menu do Google

5 – Em seguida clique em “Credenciais”

Gerenciando as credenciais

6 – Clique em “Create credentials” e selecione a opção “ID do cliente OAuth”

Criando ID do cliente OAuth

7 – Na nova tela que abrir clique em “Configurar tela de consentimento”, em seguida escolha um e-mail e informe o nome do produto e clique em “Salvar”.

8 – Na próxima tela informe o tipo de aplicativo “Aplicativo da Web”, informe um nome e as origens de JavaScript autorizadas e clique em “Criar”

a – Você pode informar varias origens de javascript. Essas origens habilitam seu aplicativo para funcionar com diferentes endereços.
b – No nosso tutorial vamos adicionar a URL http://localhost:8080 como pode ser visto na imagem abaixo

Criando chave do aplicativo web

Após seguir todos esse passos o Cliente ID é criado e com isso o acesso ao Google API’s pelo seu app está habilitado.

Clientt ID criado

Adicionado o botão de login ao seu web app

Exemplo 1

Nesse exemplos criamos o botão que recomentado pelo Google.

Exemplo 1

Os arquivos html e javascript abaixo, produzem o exemplo acima.

Arquivo html

<html lang="pt-br">
<head>
  <!DOCTYPE html>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!--
    Seu Google client ID
    Esse client ID foi criado no passo anterior
  -->
  <meta name="google-signin-client_id" content="783017677176-jl5qbms08409ts13boc6i7i8bodr44gt.apps.googleusercontent.com">

  <title>Google authentication - Exemplo 1</title>
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap-theme.min.css">
</head>
<body>
  <div class="container body-content">
    <div class="box-login">
      <h2>Login</h2>

      <!-- html do botão -->
      <div id="meu-botao"></div>

      <hr/>
      <a href="javascript:void(0);" onclick="signOut();">Sign out</a>
    </div>
    <hr />
    <footer>
      <p>&copy; Fábrica de Código</p>
    </footer>
  </div>

  <script src="scripts/example1.js"></script>

  <!--Google Platform Library-->
  <script src="https://apis.google.com/js/platform.js?onload=renderButton" async defer></script>

  <!--JQuery e Bootstrap - Não são obrigatórios para ao autenticação -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js"></script>
</body>
</html>

Arquivo javascript

/**
  Renderiza o botão de login na tela
*/
function renderButton() {
    gapi.signin2.render('meu-botao', {
        'scope': 'email profile https://www.googleapis.com/auth/plus.login', // solicitando acesso ao profile e ao e-mail do usuário
        'width': 250,
        'height': 50,
        'longtitle': true,
        'theme': 'dark',
        'onsuccess': onSuccess,
        'onfailure': onFailure
    });
}

/**
  Função executada quando o login é efetuado com sucesso
*/
function onSuccess(googleUser) {
    // Recuperando o profile do usuário
    var profile = googleUser.getBasicProfile();
    console.log("ID: " + profile.getId()); // Don't send this directly to your server!
    console.log("Name: " + profile.getName());
    console.log("Image URL: " + profile.getImageUrl());
    console.log("Email: " + profile.getEmail());

    // Recuperando o token do usuario. Essa informação você necessita passar para seu backend
    var id_token = googleUser.getAuthResponse().id_token;
    console.log("ID Token: " + id_token);
}

/**
  Função executada quando ocorrer falha no logn
*/
function onFailure(error) {
    console.log(error);
}

/**
  Função de deslogar o usuário
*/
function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
        console.log('User signed out.');
    });
}

Exemplo 2

Você também pode criar um botão para adaptar ao layout do seu web app, mas para isso você deve seguir os guidelines do Google e usar as cores e os ícones apropriados.

Exemplo 2

O html, javascript e css abaixo produzem o exemplo acima.

Arquivo html

<html lang="pt-br">
<head>
  <!DOCTYPE html>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Google authentication - Exemplo 2</title>
  <link rel="stylesheet" href="css/style.css">

  <!-- Fonte Roboto do Google -->
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap-theme.min.css">
</head>
<body>
  <div class="container body-content">
    <div class="box-login">
      <h2>Login</h2>

      <!-- Código html do botão de login -->
      <div id="gSignInWrapper">
        <div id="customBtn" class="customGPlusSignIn">
          <span class="icon"></span>
          <span class="buttonText">Logar com o Google</span>
        </div>
      </div>
      <div id="name"></div>

      <hr/>
      <a href="javascript:void(0);" onclick="signOut();">Sign out</a>
    </div>

    <hr />
    <footer>
      <p>&copy; Fábrica de Código</p>
    </footer>
  </div>

  <script src="scripts/example2.js"></script>

  <!-- Google api -->
  <script src="https://apis.google.com/js/api:client.js"></script>

  <!--JQuery e Bootstrap - Não são obrigatórios para ao autenticação -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js"></script>

  <!-- função para iniciar o app -->
  <script>startApp();</script>
</body>
</html>

Arquivo javascript

/**
  Função para iniciar o app
*/
var startApp = function() {
  gapi.load('auth2', function(){
    auth2 = gapi.auth2.init({
      //nesse exemplo o client id também pode ser informado pela meta tag "google-signin-client_id"
      //caso ele não seja informado aqui
      client_id: '783017677176-jl5qbms08409ts13boc6i7i8bodr44gt.apps.googleusercontent.com',
      cookiepolicy: 'single_host_origin',
      scope: 'profile email' // solicitando acesso ao profile e ao e-mail do usuário
    });
    auth2.attachClickHandler(document.getElementById('customBtn'), {}, onSuccess, onFailure);
  });
};

/**
  Função executada quando o login é efetuado com sucesso
*/
function onSuccess(googleUser) {
    // Recuperando o profile do usuário
    var profile = googleUser.getBasicProfile();
    console.log("ID: " + profile.getId()); // Don't send this directly to your server!
    console.log("Name: " + profile.getName());
    console.log("Image URL: " + profile.getImageUrl());
    console.log("Email: " + profile.getEmail());

    // Recuperando o token do usuario. Essa informação você necessita passar para seu backend
    var id_token = googleUser.getAuthResponse().id_token;
    console.log("ID Token: " + id_token);
}
/**
  Função executada quando ocorrer falha no logn
*/
function onFailure(error) {
    console.log(error);
}

/**
  Função de deslogar o usuario
*/
function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
        console.log('User signed out.');
    });
}

Arquivo css

#customBtn {
  display: inline-block;
  background: #4285f4;
  color: white;
  width: 250px;
  border-radius: 5px;
  white-space: nowrap;
}
#customBtn:hover {
  cursor: pointer;
}
span.label {
  font-weight: bold;
}
span.icon {
  background: url('https://google-developers.appspot.com/identity/sign-in/g-normal.png') transparent 5px 50% no-repeat;
  display: inline-block;
  vertical-align: middle;
  width: 42px;
  height: 42px;
  border-right: #2265d4 1px solid;
}
span.buttonText {
  display: inline-block;
  vertical-align: middle;
  padding-left: 42px;
  padding-right: 42px;
  font-size: 14px;
  font-weight: bold;
  /* Use the Roboto font that is loaded in the <head> */
  font-family: 'Roboto', sans-serif;
}

Integrando os dados no backend

Depois de recuperar os dados do usuário via javascript, você pode mandar essas informações para o seu servidor e salvar no banco de dados.

A única informação que você precisa mandar para o seu servidor o o “token_id”, com ele você consegue recuperar todas as informações do usuário. Veja o exemplo abaixo.

function onSuccess(googleUser) {
    // Recuperando o token do usuario.
    var id_token = googleUser.getAuthResponse().id_token;

    // post com jQuery para enviar o token to usuário para o servidor
    $.post( "http://www.seuservidor.com.br/token",
      function(id_token) {
        console.log('sucesso')
      });
}

Para validar o token no seu servidor, você pode fazer um GET no servidor do google passando como parâmetro o “token_id”.

https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=TOKEN DO USUÁRIO

Como retorno você vai obter o json abaixo:

{
 "iss": "https://accounts.google.com",
 "sub": "110169484474386276334",
 "azp": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "aud": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "iat": "1433978353",
 "exp": "1433981953",
 "email": "emaildousuario@gmail.com",
 "email_verified": "true",
 "name" : "Nome do usuário",
 "picture": "https://lh4.googleusercontent.com/-kYgzyAWpZzJ/ABCDEFGHI/AAAJKLMNOP/tIXL9Ir44LE/s99-c/photo.jpg",
 "given_name": "Nome",
 "family_name": "do Usuário",
 "locale": "pt-br"
}

Conclusão

É extremamente simples adicionar a autenticação do Google com seu web app, a documentação do Google tambem é muito completa e possui varios exemplos.

Caso você queira ver a documentação do google clique aqui

Para fazer o download do código fonte de exemplo acesse nosso repositório no GItHub