https://github.com/codenoble/gatekeeper
User account creation and management app
https://github.com/codenoble/gatekeeper
Last synced: 8 months ago
JSON representation
User account creation and management app
- Host: GitHub
- URL: https://github.com/codenoble/gatekeeper
- Owner: codenoble
- License: mit
- Created: 2016-01-21T00:00:02.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-01-21T01:37:47.000Z (over 10 years ago)
- Last Synced: 2025-03-21T23:35:00.518Z (over 1 year ago)
- Language: Ruby
- Size: 511 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
README
Gatekeeper
==========
Gatekeeper handles the creation and management of user accounts for friends of Biola University who do not have a regular Biola student or staff account.
Features
--------
- User account creation
- Email addresses must be confirmed via a link sent by email
- Forgot password via link sent by email
- Users can change passwords, edit or delete their accounts
- Return to original site after account creation
- User IP, user agent string and referring site are recorded on creation
- Admins can view users
- Admins can see a history of deleted users
- Admins can edit or delete user accounts
- Admins can search user and deleted user accounts
- Admins can associate a user account with a Biolan user account
### Link to returning to after account creation
If you want to have a Create Account link on your site that will return the user to your site after they've created their account. Just add a `return` query string parameter to your URL, like so: `http://gatekeeper.dev/create?return=http%3A%2F%2Fexample.com`.
Once their account has been created and confirmed, Gatekeeper will ask them to log into CAS with the service URL you provided in the `return` parameter.
Requirements
------------
- Ruby
- MongoDB
- Rack compatible web server
- CAS server (for admin logins)
- trogdir-api installation (for associating Biola people with accounts)
Installation
------------
```bash
git clone git@github.com:biola/gatekeeper.git
cd gatekeeper
bundle install
cp config/mongoid.yml.example config/mongoid.yml
cp config/settings.local.yml.example config/settings.local.yml
cp config/newrelic.yml.example config/newrelic.yml
```
Configuration
-------------
- Edit `config/mongoid.yml` accordingly
- Edit `config/settings.local.yml` accordingly
- Edit `config/newrelic.yml` accordingly
### External Authentication
If you'd like to have a third-party server (such as a CAS server) authenticate against the user collection, you should use a filter query like this.
`db.users.find({_type: 'NonBiolan', confirmed_at: {$ne: null}})`
Passwords are stored in the `password_digest` field using Rails' [`has_secure_password`](http://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html#method-i-has_secure_password) which, in turn uses [bcrypt](https://en.wikipedia.org/wiki/Bcrypt)
Testing
-------
Simply run `rspec` to run the automated test suite.
Related Documentation
---------------------
- [turnout](https://github.com/biola/turnout)
- [pinglish](https://github.com/jbarnette/pinglish)