Skip to content

Instantly share code, notes, and snippets.

export default class OAuth extends Component {
// previous lifecycle methods
// previous custom methods
render() {
const { name, photo} = this.state.user
const { provider } = this.props
const { disabled } = this.state
export default class OAuth extends Component {
// previous lifecycle methods
// Routinely checks the popup to re-enable the login button
// if the user closes the popup without authenticating.
checkPopup() {
const check = setInterval(() => {
const { popup } = this
if (!popup || popup.closed || popup.closed === undefined) {
import React, { Component } from 'react'
import FontAwesome from 'react-fontawesome'
import { API_URL } from './config'
export default class OAuth extends Component {
state = {
user: {},
disabled: ''
}
import React, { Component } from 'react'
import io from 'socket.io-client'
import OAuth from './OAuth'
import { API_URL } from './config'
import './App.css'
const socket = io(API_URL)
const providers = ['twitter', 'google', 'facebook', 'github']
export default class App extends Component {
// lib/auth.controller.js
exports.twitter = (req, res) => {
const io = req.app.get('io')
const user = {
name: req.user.username,
photo: req.user.photos[0].value.replace(/_normal/, '')
}
io.in(req.session.socketId).emit('twitter', user)
}
// lib/auth.router.js
const express = require('express')
const router = express.Router()
const passport = require('passport')
const authController = require('./auth.controller')
// Setting up the passport middleware for each of the OAuth providers
const twitterAuth = passport.authenticate('twitter')
const googleAuth = passport.authenticate('google', { scope: ['profile'] })
// lib/passport.init.js
const passport = require('passport')
const { Strategy: TwitterStrategy } = require('passport-twitter')
const { OAuth2Strategy: GoogleStrategy } = require('passport-google-oauth')
const { Strategy: FacebookStrategy } = require('passport-facebook')
const { Strategy: GithubStrategy} = require('passport-github')
const {
TWITTER_CONFIG, GOOGLE_CONFIG, FACEBOOK_CONFIG, GITHUB_CONFIG
} = require('../config')
// server.js
require('dotenv').config()
const express = require('express')
const path = require('path')
const fs = require('fs')
const https = require('https')
const passport = require('passport')
const session = require('express-session')
const cors = require('cors')
const arrToManipulate = []
for(let i = 0; i < 50; i++) {
arrToManipulate.push(Math.ceil(Math.random() * 10))
}
// previously written atIndex function
// previously written atIndex2 function
console.time('one')
const arrToManipulate = [3, 5, 9, 2]
const atIndex2 = arr => {
let total = 1
const retArr = []
for(let i = 0; i < arr.length; i++) {
total *= arr[i]
}