From 9d3d47ab0f2e8eb898c3df19218f5ac90dab12a8 Mon Sep 17 00:00:00 2001 From: ArtyEmsee Date: Fri, 6 Jan 2017 16:46:39 -0600 Subject: [PATCH 1/3] Adds .env to gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index fc13f16..be896a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.env + # OSX # .DS_Store From 8e76ca2b711653e99a585626a1bdd363804f9943 Mon Sep 17 00:00:00 2001 From: ArtyEmsee Date: Fri, 6 Jan 2017 16:49:18 -0600 Subject: [PATCH 2/3] Adds some necessary react native dependencies to package.json --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 902debc..2cfbbec 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,9 @@ "babel-jest": "18.0.0", "babel-preset-react-native": "1.9.1", "jest": "18.1.0", + "react": "~15.3.2", + "react-native": "0.36.1", + "react-native-fbsdk": "^0.4.0", "react-test-renderer": "~15.4.0-rc.4" }, "jest": { From 6daa112f4f5aaec2884cde8fb0311b2510f88723 Mon Sep 17 00:00:00 2001 From: ArtyEmsee Date: Sat, 7 Jan 2017 15:58:15 -0600 Subject: [PATCH 3/3] Finishes react component for Facebook login --- client/components/Login.js | 67 ++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 68 insertions(+) create mode 100644 client/components/Login.js diff --git a/client/components/Login.js b/client/components/Login.js new file mode 100644 index 0000000..c5e23f2 --- /dev/null +++ b/client/components/Login.js @@ -0,0 +1,67 @@ +import FBSDK from 'react-native-fbsdk' +import React, { Component } from 'react' +import { + View +} from 'react-native' +import axios from 'axios' + +const { + LoginButton, + AccessToken +} = FBSDK + +export default class FBlogin extends Component { + constructor(props) { + super(props) + + this.finishedLogin = this.finishedLogin.bind(this) //***dc + } + + finishedLogin(err, res) { + if (err) { + console.log('ERROR Facebook login failed: ', err) + } else if (res.isCancelled) { + console.log("Facebook login cancelled by user") + } else { + console.log("Facebook login was successful with permissions: ", res.grantedPermissions) + + AccessToken.getCurrentAccesToken() + .then(data => { + axios.post('/login/auth', //Will likely need to revisit + { + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + }, + body: { + fbAccessToken: data.accessToken + } + } + ) + }) + .then(response => response.json()) + .then(data => this.props.setUser(data)) //Will likely need to revisit + .catch(err => console.log) + } + } + + finishedLogout(err, res) { + this.props.logOut() //Will likely need to revisit + } + + render() { + return ( + + + + ) + } + +} + + //TO DO: under error console.log, create custom pop ups for errors instead of alerts. + // + // test granted permissions find out how to edit 'LoginButton' \ No newline at end of file diff --git a/package.json b/package.json index 2cfbbec..1da946e 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "react-native": "0.40.0" }, "devDependencies": { + "axios": "0.15.3", "babel-jest": "18.0.0", "babel-preset-react-native": "1.9.1", "jest": "18.1.0",