Skip to content

PerfectExamples/Perfect-Turnstile-MongoDB-Demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Perfect Turnstile with MongoDB

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 3.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

This example demonstrates the integration Stormpath's Turnstile authentication system with Perfect and a MongoDB ORM.

The library can be found at https://github.com/PerfectlySoft/Perfect-Turnstile-MongoDB

This package builds with Swift Package Manager and is part of the Perfect project.

Ensure you have installed Xcode 8.0 or later.

Server Credentials

You will need to set correct server credentials to access your MongoDB Server:

MongoDBConnection.host = "localhost"
MongoDBConnection.database = "perfect_testing"

These are located in main.swift lines 38-39.

Setup - Xcode 8

  • Check out or download the project;
  • In terminal, navigate to the directory and execute
swift package generate-xcodeproj
  • Open PerfectTurnstileMongoDBDemo.xcodeproj

To run this project from Xcode, edit the Scheme, Under "Options" for "run", check "Use custom working directory" and choose the project's working directory. After doing this, the project can be run from within Xcode.

Setup - Terminal

  • Check out or download the project;
  • In terminal, navigate to the directory
  • Execute swift build
  • Once the project has compiled, execute ./.build/debug/PerfectTurnstileMongoDBDemo
[INFO] Starting HTTP server on 0.0.0.0:8181 with document root ./webroot

Included JSON Routes

The framework includes certain basic routes:

POST /api/v1/login (with username & password form elements)
POST /api/v1/register (with username & password form elements)
GET /api/v1/logout

Included Routes for Browser

The following routes are available for browser testing:

http://localhost:8181
http://localhost:8181/login
http://localhost:8181/register

These routes are using Mustache files in the webroot directory.