const app = require('express')()
const Sso = require('basic-sso')
const sso = Sso('server_unique_app_name', {
prime: 'diffie_hellman_prime',
listen: 8001
})
const server = sso.server({
domain: 'foo.com',
cookie: {
secret: 'password',
keylist: ['foo', 'bar'],
name: 'sso_signed',
secure: false,
httpOnly: true
}
})
server.addApp('client', {
redirect: 'http://127.0.0.1:3000/landing'
})
server.strategy('strategy', (username, password, done) => {
const user = User.findByUsername(username)
done(null, user)
})
server.authorizeUser((user, app, done) => {
done(null, {
})
})
server.serializeUser((user, done) => {
done(null, user.id)
})
server.deserializeUser((id, done) => {
const user = User.findById(id)
done(null, user)
})
app.get('/auth', server.authenticate(), (req, res, next) => {
})
app.post('/login', server.logIn('strategy'))
const app = require('express')()
const Sso = require('basic-sso')
const sso = Sso('client_unique_app_name', {
prime: 'diffie_hellman_prime',
listen: 8002
})
const client = sso.client({
verify: 'verify',
server: {
name: 'server',
host: '127.0.0.1',
port: 3000,
dh_port: 8001,
auth_path: '/auth'
}
})
app.get('/login', (req, res) => {
client.redirectLogIn(res)
})
app.get('/landing', client.landing(), (req, res) => {
console.log(req.user)
})