Giter VIP home page Giter VIP logo

heavybit-sinatra-implementation's Introduction

Heavybit Sinatra-Stormpath Impl

A starting point for a Sinatra-Stormpath implementation for Heavybit, this is an extensible modular Sinatra application that can be further extended and wrapped around a full-fledged web application. Written by Frank Caron using the Stormpath Ruby SDK.

Prelude

This demonstrative implementation has been written as a starting point for Heavybit's proposed projects which are implementing Stormpath in a Sinatra environment.

The following capabilities have been implemented:

  • Account creation
  • Authentication
  • Password Reset
  • Sinatra-centric, modular protected resource structure

Assumptions

This readme assumes that you have already set up a developer account with Stormpath and know how to retrieve your API key and your application URL. If you don't know how to do this, refer to Stormpath's REST Quickstart Guide

Screenshot

alt tag

Set up Instructions

  1. Clone the repository to your local machine.

  2. Navigate to the cloned directory via the command line.

  3. Run bundle install to install the dependencies.

  4. Set the following environment variables (e.g., on OS X, nano ~/.bash_profile from the terminal):

     export STORMPATH_API_KEY_FILE_LOCATION=~/.stormpath/apiKey.properties
     export STORMPATH_APPLICATION_URL=http://yourappurlhere
    
  5. Configure the password reset page on your directory within the Stormpath API Console to use the following URL for its Password Reset workflow (Directory > Workflows > Password Reset show link):

     localhost:9292/accounts/recover
    
  6. Run the app locally by running the following command from the repo root:

     rackup config.ru
    

Dependencies

This impl relies on the following, which can all be installed from Rubygems.org using gem install individually or by via bundle.

  • Ruby (latest)
  • Stormpath SDK (v. 1.0.0.beta2)
  • Sinatra
  • Thin

To Do

If needed, additional to do's include:

  • Access Control (groups)
  • Profile editing

Disclosure

Code provided as-is. No warranty, not guaranteed by anyone for anything other than being an example.

heavybit-sinatra-implementation's People

Contributors

frankcaron avatar tdbit avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

heavybit-sinatra-implementation's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.