Advertisement
Guest User

Untitled

a guest
Dec 23rd, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. import Vapor
  2.  
  3. final class LoginController {
  4. func addRoutes(to drop: Droplet) {
  5. drop.post("login", adminLogin)
  6. drop.post("register", createAdmin)
  7. }
  8.  
  9. func createAdmin(_ request: Request)throws -> ResponseRepresentable {
  10. guard let username = request.data["username"]?.string,
  11. let password = request.data["password"]?.string else {
  12. throw Abort.badRequest
  13. }
  14.  
  15.  
  16. let creds = UsernamePassword(username: username, password: password)
  17. var user = try User.register(credentials: creds)
  18. try user.save()
  19. return Response(redirect: "user/\(user.username)")
  20. }
  21.  
  22. func adminLogin(_ request: Request)throws -> ResponseRepresentable {
  23. guard let username = request.data["username"]?.string,
  24. let password = request.data["password"]?.string else {
  25. throw Abort.badRequest
  26. }
  27.  
  28. let credentils = UsernamePassword(username: username, password: password)
  29. do {
  30. try request.auth.login(credentils, persist: true)
  31. return Response(redirect: "/admin/new-post")
  32. } catch {
  33. return Response(redirect: "/login?succeded=false")
  34. }
  35. }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement