Authware is a centralized authentication and authorization service based on Role-Based Access Control using Casbin. It has an integration with Identity Provider Okta and is extensible to support other Identity Providers.
Here's the Postman Collection for supported endpoints.
Code Range | Description |
---|---|
2xx | This range of response code indicates that request was fulfilled successfully and no error was encountered. |
400 | This return code indicates that there was an error in fulfilling the request because the supplied parameters are invalid or inadequate. |
401 | This return code means that we are not able to authenticate your request. Please re-check your username and password. |
5xx | This response code indicates that there was an internal server error while processing the request. |
Pre-requisites: Golang v1.17+
- Clone the repository locally.
- Add .env file in the repository root by modifying the .env.template file as needed.
- From repository root, run:
make start
- API will be up and running at http://localhost:5000.
- Add unit tests for the core functionality.
- Proper integration with Okta Role Manager: https://github.com/casbin/casbin/blob/master/rbac/role_manager.go
- Save policy updates back to Okta using the Role manager.
- Use separate policies for HTTP and resources: https://github.com/casbin/casbin/blob/master/examples/rbac_with_multiple_policy_model.conf
- Support for multiple tenants using Casbin Domains: