Advertisement
Guest User

Untitled

a guest
Mar 28th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.10 KB | None | 0 0
  1. //frontend
  2.  
  3. import React, { Component } from "react";
  4. import jsonwebtoken from "jsonwebtoken";
  5. import { Redirect } from "react-router-dom";
  6. import axios from "axios";
  7.  
  8. class Register extends Component {
  9. state = {
  10. email: "",
  11. registered: false,
  12. password: "",
  13. firstname: "",
  14. lastname: ""
  15. };
  16.  
  17. changeHandler = e => {
  18. this.setState({
  19. [e.target.id]: e.target.value
  20. });
  21. };
  22.  
  23. // changeHandlerPassword = e => {
  24. // console.log(
  25. // `ps1 ${this.state} ps2 ${e.target.value} +++ ${this.state.passsword !=
  26. // e.target.value}`
  27. // );
  28.  
  29. // if (this.state.passsword !== String(e.target.value).trim) {
  30. // console.log(
  31. // "no match " + this.state.password + " " + e.target.value + "-"
  32. // );
  33. // document.querySelector(".psscheck").innerHTML = "password dont match ";
  34. // } else {
  35. // // this.setState({
  36. // // password2: e.target.value
  37. // // });
  38. // console.log("match");
  39. // document.querySelector(".psscheck").innerHTML = "password match ";
  40. // }
  41. // };
  42.  
  43. componentDidMount() {
  44. const jwt = localStorage.getItem("jwt");
  45. console.log('jwt token -- - -- >>>'+jwt);
  46.  
  47. try {
  48. console.log("in register");
  49. var pay = jsonwebtoken.verify(jwt, "authdemo");
  50. console.log('payload - '+pay);
  51. console.log('************************************' )
  52.  
  53.  
  54. } catch (error) {
  55. console.log("not logged in redirecting...............");
  56.  
  57. //e.preventDefault();
  58. this.props.history.push("/Login");
  59. }
  60. }
  61.  
  62. submitHandler = e => {
  63. e.preventDefault();
  64. console.log(this.state);
  65.  
  66. var jwt = localStorage.getItem("jwt");
  67.  
  68. var config = {
  69. headers: { authorization: jwt }
  70. };
  71.  
  72. //axios.post('/save', { firstName: 'Marlon' }, config);
  73.  
  74. axios
  75. .post(
  76. "/usr/reg",
  77. {
  78. email: this.state.email,
  79. password: this.state.password,
  80. firstname: this.state.firstname,
  81. lastname: this.state.lastname
  82. },
  83. config
  84. )
  85. .then(response => {
  86. console.log("resonse came - -");
  87. console.log(response.data);
  88. this.setState({ registered: true });
  89. localStorage.setItem("jwt", response.data);
  90. })
  91. .catch(err => {
  92. console.log(err);
  93. });
  94. };
  95.  
  96. render() {
  97. if (this.state.registered === false) {
  98. return (
  99. <div className="container">
  100. <div class="row">
  101. <div class="col-sm" />
  102. <div class="col-sm">
  103. <form onSubmit={this.submitHandler}>
  104. <div class="form-group">
  105. <label>username</label>
  106. <input
  107. required
  108. type="text"
  109. className="form-control"
  110. id="username"
  111. placeholder="enter username"
  112. onChange={this.changeHandler}
  113. />
  114. </div>
  115.  
  116. <div class="form-group">
  117. <label>email</label>
  118. <input
  119. required
  120. type="email"
  121. className="form-control"
  122. id="email"
  123. onChange={this.changeHandler}
  124. placeholder="enter email"
  125. />
  126. </div>
  127.  
  128. <div class="form-group">
  129. <label>first Name</label>
  130. <input
  131. required
  132. type="text"
  133. className="form-control"
  134. id="firstname"
  135. onChange={this.changeHandler}
  136. placeholder="enter firstname"
  137. />
  138. </div>
  139.  
  140. <div class="form-group">
  141. <label>last Name</label>
  142. <input
  143. required
  144. type="text"
  145. className="form-control"
  146. id="lastname"
  147. onChange={this.changeHandler}
  148. placeholder="enter lastname"
  149. />
  150. </div>
  151.  
  152. <div class="form-group">
  153. <label>password</label>
  154. <input
  155. required
  156. type="password"
  157. id="password"
  158. placeholder="enter password"
  159. className="form-control"
  160. onChange={this.changeHandler}
  161. />
  162. </div>
  163.  
  164. {/* <div class="form-group">
  165. <label>re enter password</label>
  166. <input
  167. type="password"
  168. id="password2"
  169. placeholder="enter password again"
  170. onChange={this.changeHandlerPassword}
  171. className="form-control"
  172. />
  173. <label className="psscheck" />
  174. </div> */}
  175. <input type="submit" class="btn btn-primary" value="sign in" />
  176. </form>
  177. </div>
  178. <div class="col-sm" />
  179. </div>
  180. </div>
  181. );
  182. } else {
  183. return <Redirect to={"/dashboard"} />;
  184. }
  185. }
  186. }
  187.  
  188. export default Register;
  189.  
  190.  
  191. //backend
  192.  
  193.  
  194. router.post("/reg", (req, res, next) => {
  195. passport.authenticate(
  196. "jwtstrategy",
  197. { session: false },
  198. (err, user, info) => {
  199.  
  200. console.log('-----in reg ------')
  201. console.log(info);
  202.  
  203.  
  204. if(user){
  205. console.log(`************${req.headers.authorization}****************`);
  206.  
  207. const newuser = new User({
  208. email: req.body.email,
  209. hash: req.body.password,
  210. firstName: req.body.firstname,
  211. lastName: req.body.lastname
  212. });
  213. console.log(`email - ${req.body.email} pass - ${req.body.password}`);
  214. //newuser.setpass(req.body.password);
  215. newuser
  216. .save()
  217. .then(result => {
  218. console.log("succsess");
  219. //var token = result.generateJWT();
  220. return res.status(200).send({});
  221. })
  222. .catch(err => {
  223. console.log(" reg err - " + err);
  224. res.status(403).json(err);
  225. });
  226. }
  227.  
  228.  
  229. }
  230. )(req, res, next);
  231. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement