#' @title Validate username and password
#'
#' @description This function allows you to verify a username and password
#' @param verifyUsername user to verify
#' @param verifyPassword password to verify
#' @keywords login
#' @export
verifyLogin <- function(verifyUsername, verifyPassword) {
library(RMySQL)
envVars <- Sys.getenv(c("MYSQL_USERNAME", "MYSQL_PASSWORD", "MYSQL_HOST"))
print(paste0('vUsername',verifyUsername,', vPassword',verifyPassword))
username <- toString(envVars["MYSQL_USERNAME"])
host <- toString(envVars["MYSQL_HOST"])
password <- toString(envVars["MYSQL_PASSWORD"])
print(paste0('user:',username,', host:',host,', pw:',password))
if (is.null(host) || is.null(username) || is.null(password)) {
return(c(FALSE, 'Missing environment variables'))
}
if (is.null(verifyUsername) || is.null(verifyPassword)) {
return(c(FALSE, 'Missing function arguments'))
}
tryCatch({
print("dbConnect")
db <-
dbConnect(
MySQL(),
user = username,
password = password,
dbname = "users",
host = host
)
rs <-
dbSendQuery(
db,
paste0(
"SELECT COUNT(*) count FROM AspNetUsers where UserName='",
verifyUsername,
"' and PasswordHash='",
verifyPassword,
"'"
)
)
result <- dbFetch(rs)
if (result$count < 1) {
stop('User not authenticated')
}
return(c(TRUE, ''))
# return(result$count >= 1)
}, error = function(error_condition) {
return(c(FALSE, error_condition))
}, finally = {
print("disconnect db")
dbDisconnect(db)
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.