Giter Site home page Giter Site logo

cognitor's Introduction

Cognitor Build Status

Cognitor is an OpenID based Single Sign On Service (SSO) for web applications. If you have multiple applications or one portal that consists of multiple decoupled web applications that share the same user base, Cognitor can manage those users and allows the user to login once for all applications.

Because Cognitor uses OpenID it is not limited to the domain boundaries like cookies would be.

The goal is to have a small, stateless, extensible and configurable application that can be integrated into an existing environment by customizing the persistence.

For more information go to the wiki: http://github.com/patka/cognitor/wiki

cognitor's People

Contributors

patka avatar

Stargazers

 avatar

cognitor's Issues

Support german Umlauts in email addresses

As a user I want to be able to use email addresses at domain names that have german Umlauts since they are allowed in domain names.

The current implementation of the email validator does not work with this.

Remember Me

As a user I want to be able to configure that the system is recognizing me again when I return with the same browser, so I do not need to login again.

Attribute exchange

As a user I want to see in every application that is connected to Cognitor what my current account in use is. So, the applications should be able to exchange my email address, so that I can see the email address I used to login in all systems.

2 stage authentication

As a user I want to be sure, that no one is misusing my account. Therefore I want to be asked for my credentials again, in case I was logged in with a remember me functionality before doing some serious actions.

This means, Cognitor needs to provide an extension, so a relying party can ask request the information how the user was authenticated and request a stronger authentication mechanism. This might also be useful if a third party login is ever considered.

Web tests

As a company I want the main features of the application to be checked by automated web tests (Selenium).

The main features so far are:

  • Registration
  • Login

Change Password

As a user I want to be able to change my password with a comfortable web gui.

Password Hashes

As a company I want to store all passwords only as hashes in the database to increase the security for my users in the application gets comprimised by evil forces.

The password hashing mechanism should be configurable to support different sorts of hashing to support existing data.

Monitoring

As a company I want information about the health status of my application. The application should provide basic monitoring data.

To be decided, what exactly is needed.

Last Login Date

As a user I want to see when I did my last login, so I can see if my account was compromised.

Stateless Application

As an administrator and as a business I want the application to be stateless. This allows horizontal scaling and, if multiple instances are running behind a load balance, an easy and fast deployment of new versions while maintaining the service.

Email verification

As a company I want the data in my system to be valid and most accurate. The user should be able to verify its email address with an double opt in process. This means, that after the registration an email is sent to activate the account and verify the email address is working.

Maybe, this feature should be configurable, so that a double opt in is not a neccessarity in order to activate the account.

A successful forget password process should also count as an email verification.

Hooks for data change events

As I company I want to be able to be informed about updates the user makes to his data, in order to keep it in sync with other applications that rely e.g. on the email address of the user. There should be a possibility to implement some hooks to connect the application to an enterprise service bus for instance.

Single sign-off

As a user I want to be able to log out of the system or all connected systems where I was logged in.

Theme support for views

As a company I want the login site to optically fit into the rest of my web application, so that the user is not afraid of entering the credentials. This requires that the login site can be customized.

Forgot Password

As I user I want to set a new password in case I forget my current one. I want to receive an email with a link to a website where I can set a new password.

Change email

As I user I want to be able to chain my email address in case I changed my email service provider.

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.