<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0" -->

---
title: How I implemented Access Approval to Our Open Source Project
description: This post discusses the implementation of a Role-Based Access Control (RBAC) model and Request Access Approval system in an open-source notes-sharing...
canonical: https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How I implemented Access Approval to Our Open Source Project | daily.dev
og:description: This post discusses the implementation of a Role-Based Access Control (RBAC) model and Request Access Approval system in an open-source notes-sharing...
og:url: https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0
og:image: https://api.daily.dev/og/posts/liRDUhPI0.png
og:image:alt: How I implemented Access Approval to Our Open Source Project
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How I implemented Access Approval to Our Open Source Project

**[Community Picks](https://daily.dev/sources/community)** · 10 min read · 22 upvotes · 0 comments

## Summary

This post discusses the implementation of a Role-Based Access Control (RBAC) model and Request Access Approval system in an open-source notes-sharing application called Makaut Buddy. The author explains the importance of authorization, the difference between authentication and authorization, and provides a step-by-step guide to setting up RBAC using Permit.io. Key steps include defining roles and permissions, creating resources, assigning actions to roles, and configuring backend APIs. Additionally, it covers how to implement a system where users can request role upgrades, and admins can approve or deny these requests.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dev.to/sagar-singh/how-i-implemented-access-approval-to-our-open-source-project-1c6n>

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#open-source](https://daily.dev/tags/open-source), [#nextjs](https://daily.dev/tags/nextjs), [#authorization](https://daily.dev/tags/authorization)

[View this post on daily.dev](https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How I implemented Access Approval to Our Open Source Project","url":"https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0"},"datePublished":"2024-07-24T07:23:41.468Z","dateModified":"2024-08-23T16:14:25.083Z","description":"This post discusses the implementation of a Role-Based Access Control (RBAC) model and Request Access Approval system in an open-source notes-sharing...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0fea8019ee9ff838a49dbc5c24267b59?_a=AQAEuiZ","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0fea8019ee9ff838a49dbc5c24267b59?_a=AQAEuiZ","isAccessibleForFree":true,"articleSection":"Community Picks","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Community Picks","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community","url":"https://daily.dev/sources/community"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-i-implemented-access-approval-to-our-open-source-project-lirduhpi0","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":22},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"javascript,open-source,nextjs,authorization","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Community Picks","item":"https://daily.dev/sources/community"},{"@type":"ListItem","position":3,"name":"How I implemented Access Approval to Our Open Source Project"}]}
```

