1// Chamado no resultado do método FB.getLoginStatus(). 2function statusChangeCallback(response) { 3 4 var expiracao = new Date(); 5 6 expiracao.setFullYear(expiracao.getFullYear() + 1); 7 8 if (response.status === 'connected') { 9 // Logado no app e no Facebook. 10 11 document.cookie = 'FB_Auth=' + response.status + ';expires=' + expiracao.toUTCString() + ";"; 12 13 //testAPI(); 14 } else if (response.status === 'not_authorized') { 15 // Logado no Facebook, mas não no app. 16 17 document.cookie = 'FB_Auth=' + response.status + ';expires=' + expiracao.toUTCString() + ";"; 18 } else { 19 // Não esta logado no facebook ou não tem certeza. 20 // Pode estar logado no app ou não. 21 document.cookie = 'FB_Auth=' + response.status + ';expires=' + expiracao.toUTCString() + ";"; 22 } 23} 24 25// getLoginStatus é chamado quando o usuário finaliza o login utilizando o botão do facebook. 26// Pode-se chamar a função usuando esse código. 27function checkLoginState() { 28 FB.getLoginStatus(function (response) { 29 statusChangeCallback(response); 30 }); 31} 32 33// Load the SDK asynchronously 34(function (d, s, id) { 35 var js, fjs = d.getElementsByTagName(s)[0]; 36 if (d.getElementById(id)) return; 37 js = d.createElement(s); js.id = id; 38 js.src = "//connect.facebook.net/pt_BR/sdk.js"; 39 fjs.parentNode.insertBefore(js, fjs); 40}(document, 'script', 'facebook-jssdk')); 41 42//Acess token 43function facebookToken() { 44 FB.getLoginStatus(function (response) { 45 //if (response.status === 'connected') { 46 // console.log(response.authResponse.accessToken); 47 //} 48 }); 49} 50 51 52//logout 53function facebookLogout() { 54 try { 55 FB.logout(function (response) { }); 56 } catch (e) { 57 console.log(e.message); 58 } 59} 60 61//login 62function facebookLogin() { 63 FB.login(function (response) { 64 if (response.authResponse) { 65 FB.api('/me', { fields: 'name,email,cover,age_range,link,gender,locale,picture' }, function (meResponse) { 66 67 var url = "/Usuario/LoginExterno"; 68 69 var id; 70 var email; 71 var name; 72 var age_range; 73 var link; 74 var gender; 75 var locale; 76 var picture; 77 78 id = response.authResponse.userID; 79 email = meResponse.email; 80 try { name = meResponse.name; } catch (err) { } 81 try { age_range = meResponse.age_range.min; } catch (err) { } 82 try { link = meResponse.link; } catch (err) { } 83 try { gender = meResponse.gender; } catch (err) { } 84 try { picture = meResponse.picture.data.url; } catch (err) { } 85 86 $.ajax({
87 url: url, 88 type: 'POST', 89 beforeSend: AjaxLoading(), 90 data: { 91 email: email, token: response.authResponse.accessToken, id: id, provider: "facebook", 92 name: name, age_range: age_range, link: link, gender: gender, picture: picture, 93 __RequestVerificationToken: $("input[name='__RequestVerificationToken']").val() 94 } 95 }).done(function (data) { 96 AjaxDone(); 97 98 //Return na url um New caso o registro não exista e encaminha para página de cadastro 99 if (data.Url == "New") { 100 var name = ReplaceAll(meResponse.name, " ", "-"); 101 //document.location.href = "../CadastrarUsuario?nome=" + name + "&email=" + meResponse.email + "&IDUser=" + response.authResponse.userID + "&token=" + response.authResponse.accessToken + "&provider=facebook"; 102 document.location.href = "/Usuario/Cadastro"; 103 } 104 else if (data.Url == undefined) { 105 $('#divAlertasGerais').show(); 106 $('#spnAlertasGerais').text(data.errorMsg); 107 } 108 else { 109 document.location.href = data.Url; 110 } 111 }).fail(function (xhr) { 112 AjaxDone(); 113 window.scrollTo(0, 0); 114 115 var data = xhr.responseText; 116 if (data != "") { 117 var jsonResponse = JSON.parse(data); 118 $('#divAlertasGerais').show(); 119 $('#spnAlertasGerais').text(jsonResponse.errorMsg); 120 } 121 }); 122 }); 123 } 124 //}, { scope: 'public_profile,email' }); 125 }, { scope: 'public_profile,email' }); 126} 127 128function VincularFacebook(desvincular) { 129 FB.login(function (response) { 130 if (response.authResponse) { 131 FB.api('/me', { fields: 'name,email,cover,age_range,link,gender,locale,picture' }, function (meResponse) { 132 var url = "/Usuario/VincularPerfilSocial"; 133 134 var id; 135 var email; 136 var name; 137 var age_range; 138 var link; 139 var gender; 140 var locale; 141 var picture; 142 143 id = response.authResponse.userID; 144 email = meResponse.email; 145 try { name = meResponse.name; } catch (err) { } 146 try { age_range = meResponse.age_range.min; } catch (err) { } 147 try { link = meResponse.link; } catch (err) { } 148 try { gender = meResponse.gender; } catch (err) { } 149 try { picture = meResponse.picture.data.url; } catch (err) { } 150 151 $.ajax({
152 url: url, 153 type: 'POST', 154 beforeSend: AjaxLoading(), 155 data: { 156 email: email, token: response.authResponse.accessToken, id: id, provider: "facebook", 157 name: name, age_range: age_range, link: link, gender: gender, picture: picture, 158 Desvincular: desvincular, 159 __RequestVerificationToken: $("input[name='__RequestVerificationToken']").val() 160 } 161 }).done(function (data) { 162 if (data != null && data.URL != "Cadastro") { 163 window.location.href = data.URL; 164 } else { 165 AjaxDone(); 166 $('#ID_Facebook').val(response.authResponse.userID); 167 $('#TokenFacebook').val(response.authResponse.accessToken); 168 $('#Email').val(meResponse.email); 169 $('#ConfirmacaoEmail').val(meResponse.email); 170 } 171 }).fail(function (xhr) { 172 AjaxDone(); 173 window.scrollTo(0, 0); 174 175 var data = xhr.responseText; 176 if (data != "") { 177 var jsonResponse = JSON.parse(data); 178 $('#divAlertasGerais').show(); 179 $('#spnAlertasGerais').text(jsonResponse.errorMsg); 180 } 181 }); 182 }) 183 } 184 }, { scope: 'public_profile,email' }); 185} 186 187function DesvincularFacebook() { 188 var url = "/Usuario/VincularPerfilSocial"; 189 190 $.ajax({
191 url: url, 192 type: 'POST', 193 beforeSend: AjaxLoading(), 194 data: { 195 Provider: "facebook", Desvincular: true, 196 __RequestVerificationToken: $("input[name='__RequestVerificationToken']").val() 197 } 198 }).done(function (data) { 199 window.location.href = data.URL; 200 }).fail(function (xhr) { 201 AjaxDone(); 202 window.scrollTo(0, 0); 203 var data = xhr.responseText; 204 if (data != "") { 205 var jsonResponse = JSON.parse(data); 206 $('#divAlertasGerais').show(); 207 $('#spnAlertasGerais').text(jsonResponse.errorMsg); 208 } 209 }); 210}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.