To better understand the OAuth specification, please see Learning the OAuth Standard.
The library involves several main concepts:
Grant Types allow you to expose multiple ways for a client to receive an Access Token.
An OAuth Server has 3 endpoints, each of which can be fielded by a Controller. Each endpoint performs a distinct function in the OAuth process.
- Authorize Endpoint - The user is redirected here by the client to authorize the request
- Token Endpoint - The client makes a request to this endpoint in order to obtain an Access Token
- Resource Endpoint(s) - The client requests resources, providing an Access Token for authentication token. This library supports many different grant types, including all of those defined by the official OAuth Specification.
This library uses Storage Interfaces to allow interaction with multiple data layers. The following storage classes come with the library, but interfaces allow for your own customization: