Nearly every application needs to enable its users to see only their data. Many other applications go further and add more controls, like sharing, or making some content private and public. In this post, use Django and django-oso to build a simple social app that allows users to share posts, like Twitter. Our app will use oso to implement access control for posts.
Oso is an authorization library that includes a declarative policy language. OPA is an authorization product that includes a declarative policy language. Despite that, there are many significant differences between the two! Here's a comparison.
A configuration-based approach to adding role-based access control to your Ruby application.
Our next "Tea with Sam" will cover a hot topic: Zanzibar, Google's consistent, global authorization system. Watch Oso Cofounder/CTO, Sam Scott, implement Zanzibar in <60 minutes live on Twitch.
We’ll demonstrate a few ways of modeling role-based access control in Python and SQLAlchemy. The first few examples will be in plain SQLAlchemy, with no other libraries. For more complex examples we’ll show off using Oso for managing role authorization schemes
Demo: A Principled Approach to Authorization using Python & SQLAlchemy
Oso cofounder/CTO Sam Scott led a talk at the recent Austin Python meetup on authorization patterns for GraphQL using Oso and the Python Graphene library.
Oso cofounder/CTO Sam Scott led a talk at on authorization patterns in Node.js applications, and fast and secure ways to implement them in a sample B2B SaaS application.
RBAC and ABAC are terms that security teams commonly throw around when discussing authorization and permissions systems. When building access control in an app, the common misunderstanding is that it's an "either/or" — that it's a decision between RBAC or ABAC — when in fact most applications want for both access control models. In this post, learn about RBAC and ABAC and how combine both models in practice.
Learn how to add Role-Based Access Control (RBAC) with SQLAlchemy, using a GitHub clone example app.
Use oso's policy engine to build an authorization solution that integrates directly with GraphQL, using Graphene, SQLAlchemy, & Flask.
Our Cofounder/CTO Sam Scott led a talk on common access control patterns in Python/Django and how to implement them into a sample B2B SaaS application.
At Oso, our goal is to enable users to cleanly separate authorization logic from the rest of their application code. This separation is particularly challenging to achieve for list endpoints that return multiple records. When we started thinking about list views, we realized a single yes or no authorization result was not sufficient because it only enables filtering a collection of records that are already in the application. In this post, we will discuss a solution that allows authorization rules to output filters that can be evaluated more efficiently at the data retrieval layer.
Recently during a company hackathon we decided to try out using oso's Polar language for a different kind of use case – making a game!
Using Azure Active Directory's B2C identity platform and oso's open-source authorization library for Flask, we'll show how to add user authentication and access control to a simple Flask app.
In this post, we'll show how to incrementally build complex authorization policies with oso, using GitHub's authorization model as an example.