This document describes Mana Phoenix API endpoints.
Mana Phoenix is an enterprise solution for building websites and portals based on high end technologies such as OAuth 2.0, OpenID, .NET 8, SQL Server, React.js and Material design.
There are more than thousand websites that use this powerful framework for building responsive, secure websites with different usages such as news agencies, online stores, organization portals and ...
Mana Phoenix is a content management system with great features, it has consisted of more than 150 modules that work together and make it possible to construct a website easily.
Some of these modules are fundamental and required as prerequisite of other modules such as SiteMember, CMS, IPFilter, Log, Cache, ...
Other modules which are not fundamental can be installed and used based on the type of website and it's requirements. For example a website might needs product and store modules while the other one might needs news agency module.
By combining different modules we can create websites that have different features and versatile functionalities.
Mana Phoenix has been implemented using clean architecture and domain-driven design(DDD) with different layers, so adding new modules to Mana Phoenix is simple and straightforward.
Adding new module to Mana Phoenix is done via the following simple steps:
Define your module entities in domain layer.
Define it's repositories and specifications in Infrastructure.Data layer.
Define it's language specific resources in Infrastructure.ResourceManager layer.
Define it's dependency injection rules in Infrastructure.IOC layer.
Define it's DTO models and services in Application layer.
And finally define it's API endpoints in WebAPI layer.
Mana Phoenix uses OpenID Connect and OAuth 2.0 for authentication and authorization.
Authentication is needed when an application needs to know the identity of the current user. Typically these applications manage data on behalf of that user and need to make sure that this user can only access the data for which he is allowed.
OpenID Connect is one of the newest authentication protocols that is appropriate for modern applications and Mana Phoenix uses it's benefits.
OAuth2 is a protocol that allows applications to request access tokens from a security token service and use them to communicate with APIs. This delegation reduces complexity in both the client applications as well as the APIs since authentication and authorization can be centralized.
Mana Phoenix uses this protocol which is highly optimized to solve the typical security problems of today’s mobile, native and web applications.