Skip to content
/ gitclub Public

Realistic examples of using Oso in an application for authorization. Built for multiple different backends.

Notifications You must be signed in to change notification settings

osohq/gitclub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitClub

This is an example application based on GitHub that's meant to model GitHub's permissions system. The app is implemented in a number of backend languages, which all expose a common API that is consumed by a React frontend (in the frontend/ folder).

This application is built as an example for the Oso library. Oso library is now deprecated. If you are looking for an example of using Oso Cloud, check out GitCloud.

Backends

For more information, check out one of the backend implementations linked below.

Frontend

Running the frontend

$ cd frontend
$ yarn
$ yarn start

Architecture

  • TypeScript / React

Development

The backends all run on port 5000, and use cookies to manage sessions.

If you want to be able to debug/test the backend without running the frontend and logging in, you can use the following to save a session locally:

Save the cookies

curl -c gitclub.cookies -H "Content-Type: application/json" -X POST -d '{"email": "john@beatles.com"}' localhost:5000/session

Use the cookies

curl -b gitclub.cookies localhost:5000/orgs/1