1

我正在尝试通过使用Perfect 和 Turnstile-Perfect 构建Stormpath 的 iOS 客户端注释教程的后端,使用 Turnstile -Perfect(在服务器端实现快速和完美的 Stormpath 实现)测试 iOS 服务器端用户身份验证。虽然我可以为基本请求启动并运行服务器(见帖子底部),但用户身份验证根本不起作用,大概是因为我错过了设置数据库的步骤,在该步骤中我实际上创建了用于存储的数据库结构身份验证数据。具体来说,当我使用 Postman 通过以下帖子测试我的服务器时:

{ "givenName": "Testing", "surname": "Tester", "email": "test@example.com", "password": "TestTest1" }

我收到以下错误:

The file /register was not found.

我该如何构建这个?在运行 Stormpath 的 node.js 实现时,我只运行:

npm install -g stormpath-spa-dev-server

什么是 swift Perfect-Turstile 等价物?


当前服务器代码,写在这个项目的“main.swift”文件中:

import PerfectLib
import PerfectHTTP
import PerfectHTTPServer
import TurnstilePerfect
import SQLite

// Create HTTP server.
let server = HTTPServer()

// The Turnstile instance
let turnstile = TurnstilePerfect()
server.setRequestFilters([turnstile.requestFilter])
server.setResponseFilters([turnstile.responseFilter])


// Register your own routes and handlers
func getHandler(request: HTTPRequest, response: HTTPResponse) {
  response.appendBody(string: "get notes")
  response.completed()
}

func postHandler(request: HTTPRequest, response: HTTPResponse) {
  response.appendBody(string: "post notes")
  response.completed()
}

var routes = Routes()
routes.add(method: .get, uri: "/notes", handler: {
  request, response in getHandler(request: request, response: response)
  }
)
routes.add(method: .post, uri: "/notes", handler: {
        request, response in postHandler(request: request, response: response)
  }
)

// Add the routes to the server.
server.addRoutes(routes)

// Set a listen port of 3000
server.serverPort = 3000

// Set a document root.
// This is optional. If you do not want to serve static content then do not set this.
// Setting the document root will automatically add a static file handler for the route /**
server.documentRoot = "./webroot"

// Gather command line options and further configure the server.
// Run the server with --help to see the list of supported arguments.
// Command line arguments will supplant any of the values set above.
configureServer(server)

do {
  // Launch the HTTP server.
  try server.start()
} catch PerfectError.networkError(let err, let msg) {
  print("Network error thrown: \(err) \(msg)")
}
4

0 回答 0