-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit af5961c
Showing
16 changed files
with
15,877 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
**/node_modules/** | ||
.DS_Store | ||
**/DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# client | ||
|
||
## Project setup | ||
``` | ||
npm install | ||
``` | ||
|
||
### Compiles and hot-reloads for development | ||
``` | ||
npm run serve | ||
``` | ||
|
||
### Compiles and minifies for production | ||
``` | ||
npm run build | ||
``` | ||
|
||
### Run your tests | ||
``` | ||
npm run test | ||
``` | ||
|
||
### Lints and fixes files | ||
``` | ||
npm run lint | ||
``` | ||
|
||
### Customize configuration | ||
See [Configuration Reference](https://cli.vuejs.org/config/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
module.exports = { | ||
presets: [ | ||
'@vue/app' | ||
] | ||
} |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
{ | ||
"name": "client", | ||
"version": "0.1.0", | ||
"private": true, | ||
"scripts": { | ||
"serve": "vue-cli-service serve", | ||
"build": "vue-cli-service build" | ||
}, | ||
"dependencies": { | ||
"axios": "^0.19.0", | ||
"core-js": "^2.6.5", | ||
"firebase": "^7.1.0", | ||
"vue": "^2.6.10" | ||
}, | ||
"devDependencies": { | ||
"@vue/cli-plugin-babel": "^3.11.0", | ||
"@vue/cli-service": "^3.11.0", | ||
"vue-template-compiler": "^2.6.10" | ||
}, | ||
"postcss": { | ||
"plugins": { | ||
"autoprefixer": {} | ||
} | ||
}, | ||
"browserslist": [ | ||
"> 1%", | ||
"last 2 versions" | ||
] | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width,initial-scale=1.0"> | ||
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> | ||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> | ||
<title>client</title> | ||
</head> | ||
<body> | ||
<noscript> | ||
<strong>We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> | ||
</noscript> | ||
<div id="app"></div> | ||
<!-- built files will be auto injected --> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<template> | ||
<div id="app"> | ||
<img alt="Vue logo" src="./assets/logo.png"> | ||
<HelloWorld msg="Welcome to Your Vue.js App"/> | ||
</div> | ||
</template> | ||
|
||
<script> | ||
import HelloWorld from './components/HelloWorld.vue' | ||
export default { | ||
name: 'app', | ||
components: { | ||
HelloWorld | ||
} | ||
} | ||
</script> | ||
|
||
<style> | ||
#app { | ||
font-family: 'Avenir', Helvetica, Arial, sans-serif; | ||
-webkit-font-smoothing: antialiased; | ||
-moz-osx-font-smoothing: grayscale; | ||
text-align: center; | ||
color: #2c3e50; | ||
margin-top: 60px; | ||
} | ||
</style> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<template> | ||
<div class="hello"> | ||
<h1>{{ msg }}</h1> | ||
<p class="lead mt-2">{{ authStatus }}</p> | ||
<div class="d-flex my-4 justify-content-center"> | ||
<button @click="signIn" class="btn btn-outline-primary mx-4">Sign In ></button> | ||
<button @click="sendRequest" class="btn btn-outline-success mx-4">Send Request ></button> | ||
<button @click="signOut" class="btn btn-outline-danger mx-4">Sign Out ></button> | ||
</div> | ||
<p class="lead">{{ response }}</p> | ||
</div> | ||
</template> | ||
|
||
<script> | ||
import axios from 'axios' | ||
import firebase from 'firebase' | ||
const client = axios.create({ | ||
baseURL: 'http://localhost:3000', | ||
json: true | ||
}) | ||
export default { | ||
name: 'HelloWorld', | ||
data: function() { | ||
return { | ||
response: 'No data yet...', | ||
authStatus: 'No Auth Status' | ||
} | ||
}, | ||
props: { | ||
msg: String | ||
}, | ||
methods: { | ||
sendRequest() { | ||
if (firebase.auth().currentUser) { | ||
firebase.auth().currentUser.getIdToken(true) | ||
.then((idToken) => { | ||
client({ | ||
method: 'get', | ||
url: '/', | ||
headers: { | ||
'AuthToken': idToken | ||
} | ||
}).then((res) => { | ||
this.response = res.data.message | ||
}).catch((error) => { | ||
this.response = error | ||
}) | ||
}).catch((error) => { | ||
this.response = "Error getting auth token" | ||
}); | ||
} else { | ||
client({ | ||
method: 'get', | ||
url: '/' | ||
}).then((res) => { | ||
this.response = res.data.message | ||
}).catch((error) => { | ||
this.response = error | ||
}) | ||
} | ||
}, | ||
signIn() { | ||
firebase.auth() | ||
.signInWithEmailAndPassword("[email protected]", "pass123!") | ||
.then(() => { | ||
this.authStatus = 'Authorized' | ||
}).catch((err) => { | ||
this.authStatus = err | ||
}) | ||
}, | ||
signOut() { | ||
firebase.auth().signOut().then(() => { | ||
this.authStatus = 'Unauthorized' | ||
}).catch((err) => { | ||
this.authStatus = err | ||
}) | ||
} | ||
} | ||
} | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import Vue from 'vue' | ||
import App from './App.vue' | ||
import firebase from 'firebase' | ||
|
||
firebase.initializeApp({ | ||
apiKey: "AIzaSyBqLUXaDvnDR2CoBvY94anzYi1P1o19DKs", | ||
authDomain: "fbauthdemo-2a451.firebaseapp.com", | ||
databaseURL: "https://fbauthdemo-2a451.firebaseio.com", | ||
projectId: "fbauthdemo-2a451", | ||
storageBucket: "", | ||
messagingSenderId: "839675573680", | ||
appId: "1:839675573680:web:b7e921f299469934659275" | ||
}) | ||
|
||
Vue.config.productionTip = false | ||
|
||
new Vue({ | ||
render: h => h(App), | ||
}).$mount('#app') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
var express = require('express'); | ||
var path = require('path'); | ||
var cookieParser = require('cookie-parser'); | ||
var logger = require('morgan'); | ||
const cors = require('cors') | ||
const admin = require('firebase-admin') | ||
|
||
const serviceAccount = require("./config/fbServiceAccountKey.json"); | ||
|
||
admin.initializeApp({ | ||
credential: admin.credential.cert(serviceAccount), | ||
databaseURL: "https://fbauthdemo-2a451.firebaseio.com" | ||
}); | ||
|
||
var app = express(); | ||
|
||
app.use(cors()) | ||
app.use(logger('dev')); | ||
app.use(express.json()); | ||
app.use(express.urlencoded({ extended: false })); | ||
app.use(cookieParser()); | ||
app.use(express.static(path.join(__dirname, 'public'))); | ||
|
||
function checkAuth(req, res, next) { | ||
if (req.headers.authtoken) { | ||
admin.auth().verifyIdToken(req.headers.authtoken) | ||
.then(() => { | ||
next() | ||
}).catch(() => { | ||
res.status(403).send('Unauthorized') | ||
}); | ||
} else { | ||
res.status(403).send('Unauthorized') | ||
} | ||
} | ||
|
||
app.use('/', checkAuth) | ||
|
||
app.get('/', (req, res) => { | ||
res.json({ | ||
message: 'Hello World!' | ||
}) | ||
}) | ||
|
||
module.exports = app; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
#!/usr/bin/env node | ||
|
||
/** | ||
* Module dependencies. | ||
*/ | ||
|
||
var app = require('../app'); | ||
var debug = require('debug')('server:server'); | ||
var http = require('http'); | ||
|
||
/** | ||
* Get port from environment and store in Express. | ||
*/ | ||
|
||
var port = normalizePort(process.env.PORT || '3000'); | ||
app.set('port', port); | ||
|
||
/** | ||
* Create HTTP server. | ||
*/ | ||
|
||
var server = http.createServer(app); | ||
|
||
/** | ||
* Listen on provided port, on all network interfaces. | ||
*/ | ||
|
||
server.listen(port); | ||
server.on('error', onError); | ||
server.on('listening', onListening); | ||
|
||
/** | ||
* Normalize a port into a number, string, or false. | ||
*/ | ||
|
||
function normalizePort(val) { | ||
var port = parseInt(val, 10); | ||
|
||
if (isNaN(port)) { | ||
// named pipe | ||
return val; | ||
} | ||
|
||
if (port >= 0) { | ||
// port number | ||
return port; | ||
} | ||
|
||
return false; | ||
} | ||
|
||
/** | ||
* Event listener for HTTP server "error" event. | ||
*/ | ||
|
||
function onError(error) { | ||
if (error.syscall !== 'listen') { | ||
throw error; | ||
} | ||
|
||
var bind = typeof port === 'string' | ||
? 'Pipe ' + port | ||
: 'Port ' + port; | ||
|
||
// handle specific listen errors with friendly messages | ||
switch (error.code) { | ||
case 'EACCES': | ||
console.error(bind + ' requires elevated privileges'); | ||
process.exit(1); | ||
break; | ||
case 'EADDRINUSE': | ||
console.error(bind + ' is already in use'); | ||
process.exit(1); | ||
break; | ||
default: | ||
throw error; | ||
} | ||
} | ||
|
||
/** | ||
* Event listener for HTTP server "listening" event. | ||
*/ | ||
|
||
function onListening() { | ||
var addr = server.address(); | ||
var bind = typeof addr === 'string' | ||
? 'pipe ' + addr | ||
: 'port ' + addr.port; | ||
debug('Listening on ' + bind); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"type": "service_account", | ||
"project_id": "fbauthdemo-2a451", | ||
"private_key_id": "1d0ad38d6a57f46222213128da7a8c590d220676", | ||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCLs6kCKDSw32AK\ndaX0885NcPDyo2tzuTASGIBXNVQ3HzjXnYmjdQs3+c/FpTe6ZvpEJAcewcmBLlME\n2QKJQ46qrXxdaGHmHh71qJnkizLfXzRMF7/GcJYgzUcNNiI7l+9EWfrJRE6DxICJ\nILNcT2+2/x6jjX0R3o1yJX02rCvOtxpmU7Uw9b3db80EmEefyU0A/wlZ6XBVyC2f\nxJbZ5m6POyWta/GhR9c58KqFpkgVQNJLhk4nvy6tMd29CEOQ9GZVr9qRtCOtAxAS\nigaQwoqoCDrxQIlepaRjheaLLaZv7ZA7DVaNHMUe+8WguP8oymSMasCJvAMEFD7/\nBH/JOPB9AgMBAAECggEAAt3LJbLcj1V9aAPR4QApxO+lIEFeWID5HaHvR1Y5iBfc\np78KNVHpOGjWOlavK7b4jDuWAj4C3j5aVO5PX/nWs0oqwZ0q66HqFRAP7tqic3lX\n7BsNWr1x2fuo1vFOOW+VzWEd92zcVIy6NtqkKTEIxjqfCjT5TfA8TV+E5rg9IpSs\nXQlY+WX1XkSa7JlKavcdiOxtAWr5odPyKaRDstUa05Ie3IUgcChy+YsspOs33cmm\nKi2HitksvPfwvbQk9begfQZvjODw7ud3zt8Nyw0EvTt8lLr91qW6lCLxxedV3lBp\nnNOQfEz20dqL7yvoeNYhYEq98Xgbs/9VbVmIyfL84QKBgQC/j5Pyc3fEjPby/H/s\n0k4mqOWseIFVdiz4+Qc9pu5kmOsvLrIG6c/6mQwXUs+7Gk8w4lSyjD9l4j+vR3DZ\nnlX2LolGqM5qRI0iUGrXnuwPOoO4HuvPlKSk3HY+9+QKPTBeDEJag6+ihSmTxnKC\nRQjbvNf1ZwxoT5Fsw4b1rI8tXQKBgQC6sjJcVIKiktFa/SermrDbegBCfrm4jW3G\nTXcbs5S0fuSYOSv54RgyoJQy5yW8PbCF1Prb3RIp0YqU5a3cdeIPBDy45/C2tgMB\n72d2ZhuFcyUuA3gd0+eKFPi0LRgPPaqZrwOhlZpsNeyW0kMFJEMBvMO13HJBasr9\nWIKiCrN9oQKBgCQOspqAgZrNre4u+SVqsKs2P4UnabDcfbqfpW1FbrogzqQi9f+3\nIx7YkB4TyGY/nYhmEetJ2uUioTotCGDuHOAqAkz6mWAHZ0l+OZ48m9KCASk3KMv5\n/sPJe7h+kL4cpm4NgK/o+bZtulXGlOdQd0plUYEv1HYOBCGk7FJyGMFBAoGBAJm9\nRFtj/G+EF4KmFZTqvdj+jlgzoxym2k8CW6MkLsCz/eqcqeoLwrFuKpwAXMK2yjZr\nPGjxk5N8SnJy8MkrCgzzoE1kMoVDPRbK3phRXTh3qZZKpQ9rALBktKkquTVTwrjr\ntkHJwHB7t2g7nZUOV1+G4mNQNYZJOv+Fc42c4lIBAoGAc8tdOcx8W0PFf+k+6BRX\nLiHc0ZRfOlYBJMYm4jEqzSlyiQck6Z280q+a1TpirHo5ZBTPtO5V/nbj101sVou0\nA2Y8EIfeahgP2Krd/JmYVfk8jyTmx+//ORTZgxcK5MYLzt5doXed7cuWb3aq+/tx\nF5WEVK3UiNpWhpgGFU4yOUg=\n-----END PRIVATE KEY-----\n", | ||
"client_email": "[email protected]", | ||
"client_id": "114972146474460792995", | ||
"auth_uri": "https://accounts.google.com/o/oauth2/auth", | ||
"token_uri": "https://oauth2.googleapis.com/token", | ||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", | ||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-oqpvf%40fbauthdemo-2a451.iam.gserviceaccount.com" | ||
} |
Oops, something went wrong.