Hello @acoustic-shampoo-32095
Yes, it is possible to implement your use case with Ory Kratos. Here’s how:
- User Management: Ory Kratos provides a secure and straightforward way to implement user management, login, and registration. It handles common flows such as login and logout, account activation, multi-factor authentication, profile and session management, user-facing errors, and account recovery methods. You can customize these flows to suit your requirements (source).
- Multi-tenancy: While Ory Kratos doesn’t implement multi-tenancy in its application logic, it’s possible to implement multi-tenancy with Ory Kratos. The recommended approach is to run one or more SQL databases and create one database schema per tenant in these database instances. Ory Kratos itself should run as one instance per tenant with a configuration tailored for that specific tenant (source).
- Social Sign-in: Ory Kratos supports social sign-in, including Azure AD. You can add a social sign-in provider by defining the redirect URL, creating a client at your provider to get the Client ID and Client Secret, setting the redirect URI, creating a Jsonnet code snippet to map the desired claims to the Ory Identity schema, and adding the configuration for your social sign-in provider to the Ory Kratos configuration (source).
- Role-based Access Control: Ory provides another project called Ory Keto (aka Permissions), which is a policy decision point. It uses policies to determine whether a subject (user) is authorized to perform a certain action on a resource. You can use Ory Keto alongside Ory Kratos to implement role-based access control in your application.
Can you share your reasons to go self-hosting now?