Advertisement
Guest User

Untitled

a guest
Mar 13th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. 'use strict';
  2. //import User from "../models/user";
  3. const models = require('./../models');
  4. const User = models.User;
  5.  
  6. var jwt = require('jsonwebtoken');
  7.  
  8. function generateToken(user) {
  9. var u = {
  10. username: user.nickname
  11. };
  12. return jwt.sign(u, 'hgjhbjh ghj gyhj', {
  13. expiresIn: 60 * 60 * 24 // expires in 24 hours
  14. });
  15. }
  16.  
  17. module.exports = {
  18. userLog: function userLog(req, res) {
  19. return User.findOne({
  20. where: {
  21. nickname: req.params.nickname,
  22. password: req.params.password
  23. }
  24. })
  25. .then(function(user) {
  26. let token = generateToken(user);
  27. return res.status(200).send(token);
  28. })
  29. .catch(function(error) {
  30. res.status(400).send(error);
  31. });
  32. }
  33. };
  34.  
  35.  
  36. //React
  37.  
  38. import ReactDOM from 'react-dom';
  39. import React, { Component } from 'react';
  40. import { Form, Icon, Input, Button, Checkbox } from 'antd';
  41. import { GlobalStyle } from './Styles';
  42. import { userLog } from '../FetchServer';
  43. import { Redirect } from 'react-router-dom';
  44.  
  45. class Login extends Component {
  46. state = {
  47. token: ''
  48. };
  49.  
  50. handleSubmit = (e) => {
  51. e.preventDefault();
  52. this.props.form.validateFields((err, values) => {
  53. if (!err) {
  54. console.log('Received values of form: ', values);
  55. var token = userLog(values);
  56. console.log(token);//Esta linea de codigo me devuelve (Promise {<pending>}) y deveria devolverme el token
  57. }
  58. });
  59. };
  60.  
  61. render() {
  62. if (this.state.token !== '') return <Redirect to="/home" />;
  63. const { getFieldDecorator } = this.props.form;
  64. return (
  65. <GlobalStyle id="components-form-demo-normal-login">
  66. <Form onSubmit={this.handleSubmit} className="login-form">
  67. <Form.Item>
  68. {getFieldDecorator('userName', {
  69. rules: [ { required: true, message: 'Please input your username!' } ]
  70. })(
  71. <Input
  72. prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />}
  73. placeholder="Username"
  74. />
  75. )}
  76. </Form.Item>
  77. <Form.Item>
  78. {getFieldDecorator('password', {
  79. rules: [ { required: true, message: 'Please input your Password!' } ]
  80. })(
  81. <Input
  82. prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />}
  83. type="password"
  84. placeholder="Password"
  85. />
  86. )}
  87. </Form.Item>
  88. <Form.Item>
  89. {getFieldDecorator('remember', {
  90. valuePropName: 'checked',
  91. initialValue: true
  92. })(<Checkbox>Remember me</Checkbox>)}
  93. <a className="login-form-forgot" href="register">
  94. Forgot password
  95. </a>
  96. <Button type="primary" htmlType="submit" className="login-form-button">
  97. Log in
  98. </Button>
  99. Or <a href="register">register now!</a>
  100. </Form.Item>
  101. </Form>
  102. </GlobalStyle>
  103. );
  104. }
  105. }
  106.  
  107. const WrappedNormalLoginForm = Form.create({ name: 'normal_login' })(Login);
  108.  
  109. ReactDOM.render(<WrappedNormalLoginForm />, document.getElementById('root'));
  110.  
  111. export default WrappedNormalLoginForm;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement