Skip to content

Instantly share code, notes, and snippets.

View anabellaspinelli's full-sized avatar

Anabella anabellaspinelli

  • Barcelona, Spain
View GitHub Profile
Juan de los Palotes
/*NAV BAR*/
.nav-container ul.menu li.button a {
background-color: #222222;
color: #ffffff;
border: none !important;
}
.nav-container ul.menu li.button a:hover {
background-color: #000000;
}
@anabellaspinelli
anabellaspinelli / basic-express-oauth.js
Last active October 13, 2018 08:03
Plain Express OAuth client
const express = require("express");
const bodyParser = require("body-parser");
const request = require("superagent");
const app = express();
app.use(bodyParser.json());
app.get("/callback", (req, res, next) => {
@anabellaspinelli
anabellaspinelli / server.js
Last active October 27, 2018 16:52
Basic OAuth client with PassportJS
const passport = require('passport')
const GitHubStrategy = require('passport-github')
passport.use(
new GitHubStrategy(
{
clientID: process.env.GITHUB_CLIENT_ID,
clientSecret: process.env.GITHUB_CLIENT_SECRET,
callbackURL: process.env.GITHUB_REDIRECT_URL || '/auth/github/redirect',
scope: ['user:email']
bootstrap() {
const script = document.createElement('script')
script.src = 'https://public-assets.typeform.com/public/oauthbtn/btn.min.js'
script.type = 'text/javascript'
script.async = true
// script.onload = () => this.setState({loading: false});
const scriptConfig = {}
scriptConfig['name'] = 'tf-login-button'
app.get(
'/auth/typeform/redirect',
passport.authenticate('typeform'),
(req, res) => {
res.redirect('/themes')
}
}
app.get('/themes', (req, res) => {
res.render('themes', {
@anabellaspinelli
anabellaspinelli / typeform-redirect-route.js
Last active September 24, 2018 09:22
Handling callback with PassportJS
app.get(
'/auth/typeform/redirect',
passport.authenticate('typeform'),
(req, res) => {
res.send(req.user)
}
}
@anabellaspinelli
anabellaspinelli / app-2.js
Last active September 24, 2018 12:12
Typeform OAuth Tutorial - Passport setup complete
const express = require('express')
const path = require('path')
const passport = require('passport')
const TypeformStrategy = require('passport-typeform')
const app = express()
app.set('view engine', 'ejs')
app.set('views', path.join(__dirname, '/views'))
passport.use(
new TypeformStrategy(
{
// options for the typeform strategy
clientID: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
callbackURL: process.env.REDIRECT_URI,
scope: ['accounts:read', 'forms:write']
},
(accessToken, refreshToken, profile, cb) => {
@anabellaspinelli
anabellaspinelli / home.ejs
Last active September 24, 2018 11:41
Typeform OAuth tutorial
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Themeform</title>
<style>
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
margin: 0;