const AuthContextProvider = ({ children }) => { const [user, setUser] = useState(() => { const user = firebase.auth().currentUser; return user; }); useEffect(() => { firebase.auth().onAuthStateChanged(firebaseUser => { setUser(firebaseUser); }); }, []) return <AuthContext.Provider value={user}>{children}</AuthContext.Provider> }
constructor(props) { super(props); this.state = { messages: [] }; this.user = firebase.auth().currentUser this.friend = this.props.friend this.chatRef = this.getRef().child('chat/' + this.generateChatId()); this.chatRefData = this.chatRef.orderByChild('order') this.onSend = this.onSend.bind(this); }
setContext(async (_, { headers }) => { let token; if (firebase.apps.length && firebase.auth().currentUser) { token = await firebase .auth() .currentUser.getIdToken(true); } return { headers: { ...headers, authorization: token ? `Bearer ${token}` : '', 'Accept-Language': getLanguageCode(), }, }; })
/** * @return {Object | null} */ getCurrentUser() { return firebase.auth().currentUser; }
// FETCH BATCH FROM API async function getBatch() { let authToken = await firebase.auth().currentUser.getIdToken(false); let data = await request .get('/api/getBatch') .set('token', authToken) // .query({ token: authToken }) let response; try { response = JSON.parse(data.text); console.log('mnist data: ', response); } catch(error) { response = error; response.success = false; } return response; }
listenForItems(friendsRef) { var user = firebase.auth().currentUser; friendsRef.on('value', (snap) => { // get children as an array var items = []; snap.forEach((child) => { if(child.val().email != user.email) items.push({ name: child.val().name, uid: child.val().uid, email: child.val().email }); }); this.setState({ dataSource: this.state.dataSource.cloneWithRows(items), loading: false }); }); }
const createWish = (text, paypalUser = null) => { let uid = firebase.auth().currentUser.uid; let wishObj = { user: { uid, displayName: firebase.auth().currentUser.displayName || '', photoURL: firebase.auth().currentUser.photoURL || '', }, createdAt: (new Date()).getTime(), text, upwish: {}, }; if (paypalUser) { wishObj.paypalUser = paypalUser; } let newKey = firebase.database().ref('/wishes/').push().key; let updates = {}; updates[`/wishes/${newKey}`] = wishObj; updates[`/users/${uid}/wishes/${newKey}/`] = wishObj; return firebase.database().ref().update(updates); }
'owner': firebase.auth().currentUser && firebase.auth().currentUser.uid, 'when': new Date().getTime() })
'owner': firebase.auth().currentUser && firebase.auth().currentUser.uid, 'when': new Date().getTime() }).then(r => resolve(r), e => reject(e))
const PrivateRoute = ({component: Component, ...rest}) => ( <Route {...rest} render={props => (!!firebase.auth().currentUser) ? ( <Component {...props} /> ) : ( <Redirect to={{ pathname: '/', state: {from: props.location} }} /> ) } ></Route> )
React.createClass({ getInitialState: function(){ return { user: null }; }, componentWillMount: function() { var user = Firebase.auth().currentUser; this.setState({user: user.email }); }, render: function() { if(!this.state.user){ return ( <View> <Text style={styles.container}>Loading...</Text> </View> ) } var username = this.state.user; return ( <View style={styles.container}> <Text>Welcome back {username}!</Text> </View> ) } })
async componentDidMount() { try { // Get User Credentials let user = await firebase.auth().currentUser; // Listen for Mobile Changes Database.listenUserMobile(user.uid, (mobileNumber) => { this.setState({ mobile: mobileNumber, mobileForm: mobileNumber }); }); this.setState({ uid: user.uid }); } catch (error) { console.log(error); } }
// SUBMIT GUESS async function submitGuess(guess, mnist_id) { let authToken = await firebase.auth().currentUser.getIdToken(false); let data = await request .post('/api/verifyImage') .set('token', authToken) .send({ guess: guess, mnist_id: mnist_id }) let response; try { response = JSON.parse(data.text); console.log('post response: ', response); } catch(error) { response = error; response.success = false; } return response; }
export default function EditableDataList({ data }) { const [thinking, setThinking] = useState(false) const handleSave = async (key, value) => { const user = firebase.auth().currentUser if (key === 'email') { // TODO: Reauth user if necessary // user.updateEmail(value).then(function() { // // Update successful. // }).catch(console.error) // TODO: send updated message return } const ref = firebase.database().ref(`users/${user.uid}`) await ref.update({ [key]: value }) return } return ( <View style={styles.container}> {data && Object.entries(data).map(([key, value]) => { if (key !== 'images') { return <EditableDataItem key={key} k={key} v={value} handleSave={handleSave}/> } })} </View> ) }
get uid() { return (firebase.auth().currentUser || {}).uid; }