|
@@ -0,0 +1,90 @@
|
|
|
|
|
+<!DOCTYPE html>
|
|
|
|
|
+<html>
|
|
|
|
|
+<head>
|
|
|
|
|
+<title>Facebook Login JavaScript Example</title>
|
|
|
|
|
+<meta charset="UTF-8">
|
|
|
|
|
+</head>
|
|
|
|
|
+<body>
|
|
|
|
|
+{% include 'hackathon/base.html' %}
|
|
|
|
|
+<script>
|
|
|
|
|
+ // This is called with the results from from FB.getLoginStatus().
|
|
|
|
|
+ function statusChangeCallback(response) {
|
|
|
|
|
+ console.log('statusChangeCallback');
|
|
|
|
|
+ console.log(response);
|
|
|
|
|
+ // The response object is returned with a status field that lets the
|
|
|
|
|
+ // app know the current login status of the person.
|
|
|
|
|
+ // for FB.getLoginStatus().
|
|
|
|
|
+ if (response.status === 'connected') {
|
|
|
|
|
+ // Logged into your app and Facebook.
|
|
|
|
|
+ testAPI();
|
|
|
|
|
+ } else if (response.status === 'not_authorized') {
|
|
|
|
|
+ // The person is logged into Facebook, but not your app.
|
|
|
|
|
+ document.getElementById('status').innerHTML = 'Please log ' +
|
|
|
|
|
+ 'into this app.';
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // The person is not logged into Facebook, so we're not sure if
|
|
|
|
|
+ // they are logged into this app or not.
|
|
|
|
|
+ document.getElementById('status').innerHTML = 'Please log ' +
|
|
|
|
|
+ 'into Facebook.';
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // This function is called when someone finishes with the Login
|
|
|
|
|
+ // Button. See the onlogin handler attached to it in the sample
|
|
|
|
|
+ // code below.
|
|
|
|
|
+ function checkLoginState() {
|
|
|
|
|
+ FB.getLoginStatus(function(response) {
|
|
|
|
|
+ statusChangeCallback(response);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ window.fbAsyncInit = function() {
|
|
|
|
|
+ FB.init({
|
|
|
|
|
+ appId : {{your-app-id}},
|
|
|
|
|
+ cookie : true,
|
|
|
|
|
+
|
|
|
|
|
+ xfbml : true, // parse social plugins on this page
|
|
|
|
|
+ version : 'v2.2' // use version 2.2
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ FB.getLoginStatus(function(response) {
|
|
|
|
|
+ statusChangeCallback(response);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // Load the SDK asynchronously
|
|
|
|
|
+ (function(d, s, id) {
|
|
|
|
|
+ var js, fjs = d.getElementsByTagName(s)[0];
|
|
|
|
|
+ if (d.getElementById(id)) return;
|
|
|
|
|
+ js = d.createElement(s); js.id = id;
|
|
|
|
|
+ js.src = "//connect.facebook.net/en_US/sdk.js";
|
|
|
|
|
+ fjs.parentNode.insertBefore(js, fjs);
|
|
|
|
|
+ }(document, 'script', 'facebook-jssdk'));
|
|
|
|
|
+
|
|
|
|
|
+ // Here we run a very simple test of the Graph API after login is
|
|
|
|
|
+ // successful. See statusChangeCallback() for when this call is made.
|
|
|
|
|
+ function testAPI() {
|
|
|
|
|
+ console.log('Welcome! Fetching your information.... ');
|
|
|
|
|
+ FB.api('/me', function(response) {
|
|
|
|
|
+ console.log('Successful login for: ' + response.name);
|
|
|
|
|
+ document.getElementById('status').innerHTML =
|
|
|
|
|
+ 'Thanks for logging in, ' + response.name + '!';
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<!--
|
|
|
|
|
+ Below we include the Login Button social plugin. This button uses
|
|
|
|
|
+ the JavaScript SDK to present a graphical Login button that triggers
|
|
|
|
|
+ the FB.login() function when clicked.
|
|
|
|
|
+-->
|
|
|
|
|
+
|
|
|
|
|
+<fb:login-button scope="public_profile,email" onlogin="checkLoginState();">
|
|
|
|
|
+</fb:login-button>
|
|
|
|
|
+
|
|
|
|
|
+<div id="status">
|
|
|
|
|
+</div>
|
|
|
|
|
+
|
|
|
|
|
+</body>
|
|
|
|
|
+</html>
|