{"_id":"@alu0100943849/auth","_rev":"2-32a8edbda6450503b9e7dd547167c617","name":"@alu0100943849/auth","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@alu0100943849/auth","version":"1.0.0","description":"Para ello necesitamos el modulo router de espress, el bcrypy para encriptar la contraseña.","main":"auth.js","dependencies":{"cookie-parser":"^1.4.4","ejs":"^2.6.1","express-session":"^1.16.1"},"devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849/issues"},"homepage":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849#readme","gitHead":"74c8fb10b581fe917974594c94d4d7b32bbdabca","_id":"@alu0100943849/auth@1.0.0","_shasum":"ce4874d3f9929ed9f929cf8f7323388130979c7d","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"alu0100943849","email":"alu0100943849@ull.edu.es"},"dist":{"shasum":"ce4874d3f9929ed9f929cf8f7323388130979c7d","tarball":"https://registry.npmjs.org/@alu0100943849/auth/-/auth-1.0.0.tgz","integrity":"sha512-mq8SeHoUkx4xXsuL0LaJ7RSoIbF8z3JPRKmKELk/lGErTN0gFTLyf2SQ7sitkYD0jWILD0kY3QSiKwd0TJFviQ==","fileCount":3,"unpackedSize":5255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwDUnCRA9TVsSAnZWagAAP4gP/RAyHltzjRuHkpECaI38\nHjmbiB+YB3y1gpT2f3X5wg0S+1smoqLhJkZkhGTOsZI/IF9XShhaSplxo560\nTla/ZCAmM3SKTeW5EVwLvBlk8b2iuVRu4mvEWvJxTmEYRbRoRtn6yzJoXt6f\n0FgQ6cHeTkdf7FNyoRxcRUOQDzAQYN8+l6JHn576xIHAXMfU/3V1xqhSaFHa\nbdEl022Nfr1CkbN6Y7eInp2V39SeJSWcUwhfNeQDWOjAhZWo6gGhmEO710Eb\ntFBSWcbfMGVMMqjH/SLRHheOeGJbfgnxtbDRmu4+Ys9ABgsAPRAbNr7pgJv+\nm+8qrVkQ0xC7ZrduF0EUhazRxqlYXIoRwnvHUPdGF+P9/vAsh3jvFvux8dgj\nV6jLSXh2FB3mwA7jmsmiMumb355Wjig7zlyLrtijJsNuQtURRIq1DClzxT2O\nR8xY1988Z08pGBavn5PtNkelIs8jRFghybksR/j4ZRnsnHFGNto2CUm2r7nR\ncTY92CXL+BW59goZWjnafWL9c5DcUslvUujyvVYrDEiHljpLbBMzaKDML9Lc\nAht3Ua6XMmfXoN2i8axvEA1YkuTQTD6KFtWRjCGRO7hxJaVY6yJhv/TSFNcr\n22JW1CSkeUDi/FuokWTsBzOAXN3ahzJy3s7Rzupncmji6EN0Pt1VEKXDwUfn\nlCwA\r\n=IP7P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEl3mapZBZBt0QiySv89MilmseryUmT3QTWy0UsbQZ6lAiEAs6BhzIwdNiG+VafxcZEv35gwWMWeukaTfjoyndgso1Y="}]},"maintainers":[{"name":"alu0100943849","email":"alu0100943849@ull.edu.es"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auth_1.0.0_1556100391145_0.5627788352789171"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alu0100943849/auth","version":"1.0.1","description":"Ejemplo de modulo de autenticacion","main":"auth.js","dependencies":{"cookie-parser":"^1.4.4","ejs":"^2.6.1","express-session":"^1.16.1"},"devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849/issues"},"homepage":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849#readme","gitHead":"74c8fb10b581fe917974594c94d4d7b32bbdabca","_id":"@alu0100943849/auth@1.0.1","_shasum":"8e30ba5b2c4e2a4b0cb689dec4ea407ae669b936","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"alu0100943849","email":"alu0100943849@ull.edu.es"},"dist":{"shasum":"8e30ba5b2c4e2a4b0cb689dec4ea407ae669b936","tarball":"https://registry.npmjs.org/@alu0100943849/auth/-/auth-1.0.1.tgz","integrity":"sha512-vBWxn+4ynEjIaOcqa9MSCi6Q7+EQyJWIB3nmk7Evon4YevV1nGaQVsfn8CqMZdaixL5jjBuCtCy4OvBn2+CSZg==","fileCount":3,"unpackedSize":5198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwDVqCRA9TVsSAnZWagAAza8P/0rH9vNWBKM98VtfNbGs\ntZagJeM33VumQJbEqWPSLvH0DqPURurNattEljjXbgsteBc46CIVWTasrpeH\nGymYK2E2Zhr6Yw4yYExvD9YRZUrTjyVdy1z81w8n2sp+dZP947v9+lNGPiOg\nAj7OCDQbdFbvREYakmdf70HY48HALY7omF/yFVu7d4DfSVz9KQ9Sf58KEKgc\nZIP/eFcDce5MuE3VYWTp1ehofJ4PGW2fof++y1R1wvHt1fYVScpVWM80rDOe\nlA3DfW53dl1jUEFDIqX6yqxAmAK4n1wKpiIKlvSBhfPgWqzJjVZEcyr7sLYV\nzZzdB3XK/9JwH5OZWa50aH2YNP7Bgmw3eD5o2SCVgKOyMCSI11BodHrSdLob\nERDZhunLC01uPlUU7aIO+QFXsg5hVipUUP+xbKVPUit3Rz3WWCrKuHgiq4aZ\nXd4nEHXUktAuyXaDkZtxgIymG8dLhFU7lIg2NUEWPVRlVjru8Ak0UW8BEZ2k\n2GzgAQxSloNu8DUYrCLRf05Qe1Z6suR2tGPPYJc+TJHPsgDVO44jy2E48n7I\nFnmllaWFA6caSnxcv57TChghqdpSe4vCduhs280mvWarHMD2OvmDVNX0v0Rw\nIKXlIfedzq91Qe5iK7wRf43bpnlUSOIVCbSQTTM19Mh+JE5nUDhv6IjgweMC\neZig\r\n=UNsc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH0y4/ZftbxCVZgwSZaz66+u5SNzvfrL5fBJORMWphO6AiEAnVYtDFKrWdx/92cIwXUY1lHjnT7S9GUlK6o/zVE/IOY="}]},"maintainers":[{"name":"alu0100943849","email":"alu0100943849@ull.edu.es"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auth_1.0.1_1556100458005_0.9261638839726176"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-24T10:06:30.954Z","1.0.0":"2019-04-24T10:06:31.253Z","modified":"2022-04-04T13:40:53.508Z","1.0.1":"2019-04-24T10:07:38.142Z"},"maintainers":[{"name":"alu0100943849","email":"alu0100943849@ull.edu.es"}],"description":"Ejemplo de modulo de autenticacion","homepage":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849#readme","repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849.git"},"bugs":{"url":"https://github.com/ULL-ESIT-DSI-1819/auth-alu0100943849/issues"},"license":"ISC","readme":"# p8-t3-sessions-and-modules\n## Crear el modulo auth en Node.js\n\nPara ello necesitamos el modulo router de espress, el bcrypy para encriptar la contraseña.\n\nPara manejar las peticiones get y post del usuario, el módulo provee rutas y manejadores para el login, el registro y el logout así como para acceder al contenido protegido.\n\nPara definir una rutas o manejador utilizamos la clase express.Router(), que deriva de los metodos de solicitud HTTP por ello las rutas se pueden especificar como router.get(...) o router.post(...), por ejemplo.\n\n    router.get('/login', (req, res) => {\n        ...\n    });\n\n    router.post('/register', (req, res) => {\n        ...\n    });\n\nen el caso de router.use(...) se utiliza para definir el middleware especifico para ese router\n\n### ¿Cómo funciona?\nCuando se carga el archivo que contiene el HTML de la página, el usuario puede clicar links que tienen un atributo *href* que tiene como valor la ruta a la que se quiere ir, por ejemplo: /login, esto es enviado mediante los métodos de solicitud HTTP (get, post, etc), los cuales son capturados por los manejadores que ejecutan lo declarado en sus funciones, por ejemplo:\n\n    router.get('/login', (req, res) => {\n      if(!req.session.username) res.render(loginView);\n      else res.render(successLoginView);\n    });\n\ncuando se clica en login en la pagina web, esta envia una peticion get, que es capturada por el manejador de arriba, que maneja las solicitudes GET a la vía de acceso /login, y ejecuta el codigo renderizando un fichero .ejs dependiendo de la sentencia if else.\n\n## Subir el modulo a la biblioteca npm\n\n- 1º Tu proyecto debe tener un archivo package.json en el directorio raíz. sino ejecuta npm init\n\n- 2º crea una cuenta en npmjs.com.\n\n- 3ºpublicar el proyecto, ejecuta: npm login y despues npm publish","readmeFilename":"README.md"}