hc-authentication-mysql
v1.0.0
Published
Authentication script in javascript with mysql. Login, register, password recovery, sending email.
Downloads
10
Maintainers
Readme
hc-authentification-mysql
Authentication script in javascript for mysql. Login, register, password recovery, sending email.
For the user register
import { userRegister } from "hc-authentication-mysql"
// exemple de utilisation des functions
userRegister(
body,
{
connection,
valueTable: {
tableAuthName:"auth",
colonneEmailName: "email",
colonneIdName: "id",
},
contentEmail: {
urlVerify: 'http://localhost:3001/auth/verify-email-register',
fromTitle: 'Web app',
subject: 'Welcome to our app',
title: 'verify your email',
message: 'Click on the link below to verify your email',
btnText: 'Verify email'
},
configEmail: {
service: process.env.SMTP_SERVICE,
host: process.env.SMTP_HOST,
port: process.env.SMTP_PORT,
auth: {
user: process.env.SMTP_MAIL_APP_USER,
pass: process.env.SMTP_MAIL_APP_PASSWORD
}
},
valueToken: {
expiresIn: "1h",
secretKey: process.env.SECRET_KEY
}
}
)
.then(data => {"your code here"})
.catch(err => {"your code here if error"})
connection:
- is a return of function mysql, ex:
- const connection = mysql.createConnection(config);
- connection.connect(()=>{})
- is a return of function mysql, ex:
valueTable:
- need to access the database table.
contentEmail:
- content of the email for send a verify email with a link which contains secret key to verify.
configEmail:
- we need to look for this information at our server or email service for authorization of email sendings.
valueToken:
- for a good configuration of the token we need a fairly complex secret key for good security, we also need the time of life of this one, in hours, ex "1h" or "24h".
For login
import { userLogin } from "hc-authentication-mysql"
// exemple de utilisation des functions
userLogin(
body,
conn={
connection: null,
valueTable: {
tableAuthName: "",
colonneEmailName: "",
colonnePasswordName: "",
colonneIdName: ""
},
valueToken: {
expiresIn: "24h",
secretKey: "create_a_random_token"
}
}
)
.then(data => {"your code here"})
.catch(err => {"your code here if error"})
- checking the user in the db.
- creation and sending of the authentication token for future access.
- we can send a token for the creation of a cookie.
For forgot password
import { forgotPassword } from "hc-authentication-mysql"
// exemple de utilisation des functions
forgotPassword(
body,
conn={
connection,
valueTable: {},
contentEmail: {},
configEmail: {},
valueToken: {}
}
)
.then(data => {"your code here"})
.catch(err => {"your code here if error"})
- Send link Email with secret key for forgot password.
For reset password
import { resetPassword } from "hc-authentication-mysql"
// exemple de utilisation des functions
resetPassword(
body,
conn={
connection,
valueTable: {},
contentEmail: {},
configEmail: {},
valueToken: {}
}
)
.then(data => {"your code here"})
.catch(err => {"your code here if error"})
- Update password in a DB mysql.