2
1
mirror of https://github.com/Thream/socketio-jwt.git synced 2024-07-21 09:38:31 +02:00

Merge pull request #64 from Annyv2/seed-project

Updated Seed Project
This commit is contained in:
Nathan Totten 2015-11-30 11:03:40 -08:00
commit 7d77b59bea
5 changed files with 38 additions and 5 deletions

View File

@ -0,0 +1,21 @@
# Auth0 + Socket.io
This is the seed project you need to use if you're going to create a Socket.io single page app that will use Auth0.
### Configure your Auth0 credentials
First, you need to put your `AUTH0_DOMAIN` (example.auth0.com), your `AUTH0_CLIENT_ID` and your `AUTH0_CLIENT_SECRET` on the `auth0-variables.js` file . You can find this information in the Application Settings on your Auth0.com dashboard.
### Set up the Allowed Origin (CORS) in Auth0
Then, you need to put `http://localhost:3001` as an Allowed Origin (CORS) in the Application Settings on your Auth0.com dashboard.
### Running the example
In order to run the example, you need to have `node` installed.
1. run `npm install`
1. run `node index.js` in the directory of this project.
Go to [http://localhost:3001](http://localhost:3001) and you'll see the app running :).

View File

@ -0,0 +1,5 @@
(function (exports){
exports.AUTH0_DOMAIN = 'Your_Auth0_Domain';
exports.AUTH0_CLIENT_ID = 'Your_Auth0_Client_Id';
exports.AUTH0_CLIENT_SECRET = 'Your_Auth0_Client_Secret';
})(typeof exports === 'undefined' ? this['auth0Variables']={}: exports);

View File

@ -15,10 +15,11 @@
#login button { width: 10%; padding: 8px; border: none; background: rgb(130, 255, 130);}
</style>
<!-- Auth0 lock script -->
<script src="//cdn.auth0.com/js/lock-7.5.min.js"></script>
<script src="//cdn.auth0.com/js/lock-7.12.min.js"></script>
<!-- Setting the right viewport -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<script src="auth0-variables.js"></script>
</head>
<body>
<div id="login">
@ -81,8 +82,9 @@
var lock = null;
$(document).ready(function() {
lock = new Auth0Lock('YOUR_CLIENT_ID', 'YOUR_NAMESPACE');
//These are set in auth0-variables.js
lock = new Auth0Lock(auth0Variables.AUTH0_CLIENT_ID, auth0Variables.AUTH0_DOMAIN);
});
</script>
</body>
</html>
</html>

View File

@ -2,18 +2,23 @@ var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var socketioJwt = require('socketio-jwt');
var auth0Variables = require('./auth0-variables');
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.get('/auth0-variables.js', function(req, res){
res.sendFile(__dirname + '/auth0-variables.js');
});
io
.on('connection', socketioJwt.authorize({
secret: Buffer('YOUR_CLIENT_SECRET', 'base64'),
secret: Buffer(auth0Variables.AUTH0_CLIENT_SECRET, 'base64'),
timeout: 15000 // 15 seconds to send the authentication message
}))
.on('authenticated', function(socket){
console.log('connected & authenticated: ' + socket.decoded_token.toString());
console.log('connected & authenticated: ' + JSON.stringify(socket.decoded_token));
socket.on('chat message', function(msg){
debugger;
io.emit('chat message', msg);