Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/login #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions login
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
const express = require('express')
const app = express()
const request = require('request');
const jwt = require('jsonwebtoken');
const auth = require('../lib/auth');

//------------------database 연결 ----------------------
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost', //서버의 주소
user : 'fintech', // 접근 계정 이름
password : '1234', // 계정 비밀번호
database : 'fintech' // 데이터베이스 이름
});
connection.connect();
//------------------database 연결 ----------------------

app.set('views', __dirname + '/views');//랜더링할 파일이 있는 디렉토리
app.set('view engine', 'ejs'); // 사용하는 뷰 엔진

app.use(express.json()); // JSON 타입의 데이터를 받기위한 설정
app.use(express.urlencoded({ extended: false })); // urlencoded 타입의 데이터를 받기위한 설정

app.use(express.static(__dirname + '/public')); //디자인 파일이 위치할 정적 요소들을 저장하는 디렉토리

var clientId = "0R2edmaCG1scjL5CFMAbBgMDTanDktRPU95zulXpF" // 클라이언트 아이디 변경
var clientSecret = "T3DL7WeuSdUubByfrziErkENCQnL8KMU7G4if65t" // 클라이언트 시크릿 변경

app.get('/test', auth, function(req, res){
console.log(req.decoded);
res.json('로그인 된 사용자가 보는 화면');
})

app.get('/signup', function(req, res){
res.render('signup');
})

app.get('/login', function(req, res){
res.render('login');
})

app.post('/signup', function(req, res){
console.log(req.body);
var userName = req.body.userName;
var userPassword = req.body.userPassword;
var userEmail = req.body.userEmail;
var userAccessToken = req.body.userAccessToken;
var userRefreshToken = req.body.userRefreshToken;
var userSeqNo = req.body.userSeqNo;
var insertUserSql = "INSERT INTO user (`name`, `email`, `accesstoken`, `refreshtoken`, `userseqno`, `password`) VALUES (?, ?, ?, ?, ?, ?)"
connection.query(insertUserSql,[userName, userEmail, userAccessToken, userRefreshToken, userSeqNo, userPassword], function (error, results, fields) {
if (error) throw error;
else {
res.json(1);
}
});
})

app.post('/login', function(req, res){
var userEmail = req.body.userEmail;
var userPassword = req.body.userPassword;
var searchEmailSql = "SELECT * FROM fintech.user WHERE email = ?";
connection.query(searchEmailSql,[userEmail, userPassword], function (error, results, fields) {
if (error) throw error;
else {
if(results.length == 0){
res.json("회원이 존재하지 않습니다")
}
else {
var storedUserPassword = results[0].password;
if(storedUserPassword == userPassword){
//로그인 완료
var tokenKey = "f@i#n%tne#ckfhlafkd0102test!@#%";
jwt.sign(
{
userId: results[0].id,
userEmail: results[0].email,
},
tokenKey,
{
expiresIn: "10d",
issuer: "fintech.admin",
subject: "user.login.info",
},
function (err, token) {
console.log("로그인 성공", token);
res.json(token);
}
);

}
else {
res.json("비밀번호를 잘못 입력했습니다");
//로그인 실패
}
}
}
});
})



app.listen(3000, function(){
console.log('서버가 3000번 포트에서 실행중 입니다.');
})