GithubHelp home page GithubHelp logo

authorityidentity's Introduction

Authority

Identity and user management for .NET applications.

Core Concepts

Domain

Domain is the top level element inside Authority. Inside a domain users are unique, identified by their email address. However users can exists within different domains with the same email. Authority has two modes for handling domains:

  • Single mode: there are exactly one domain inside the application. If at the initialization of Authority there is no domain in the database then Authority automatically create one.
  • Multi mode: there can be multiple domain. The initialization of Authority does not create a domain if none exists.

Claim

Claims are basically key value pairs and they can be converted to the Claim class of the System.Security namespace.

Policy

Policies are exist within Domains and hold zero or more claims. Users can be assigned to policies. Inside a Domain there can be zero or one default policy which automatically assigned to newly registered users (however if a new default policy appointed existing users do not get this new default policy). Policies belong zero or more Group. Policies have zero or more Claims.

Group

Groups are exists within Domains and can be assigned to Users. A Group itself does not hold any Claims but zero or more Policy can be assigned to a Group. Just like Policies Groups can get the default flag. A default Group operates the same way as a default Policy.

User

Users are our main point of interest. In Authority users exists within a Domain uniquely identified by their email address. Beside that their username also unique too. All user has zero or more Groups and/or Policies(the Claims that the User own through its Policies are the User's owned Claims). There are different strategies inside Authority to aquire the Claims of a User combining Claims from owned ones and through Groups. Users can be converted to a ClaimsPrincipal instance through an extension method.

authorityidentity's People

Contributors

reiteristvan avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

dolinkamark

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.