2024-03-12 09:32:22 +00:00

7.1 KiB

title, sidebarDepth
title sidebarDepth
Authentication & Authorization 3

Authentication & Authorization

Castopod handles authentication and authorization using codeigniter/shield coupled with custom rules. Roles and permissions are defined at two levels:

  1. instance wide
  2. per podcast

1. Instance wide roles and permissions

Rolloù an istañs

roll description permissions
Super admin Has complete control over Castopod. admin.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks
Manager Manages Castopod's content. podcasts.create, podcasts.import, persons.manage, pages.manage
Podkaster General users of Castopod. admin.access

Aotreoù war an istañs

aotre description
admin.access Can access the Castopod admin area.
admin.settings Can access the Castopod settings.
users.manage Can manage Castopod users.
persons.manage Can manage persons.
pages.manage Can manage pages.
podcasts.view Can view all podcasts.
podcasts.create Can create new podcasts.
podcasts.import Gallout a ra enporzhiañ podkastoù.
fediverse.manage-blocks Can block fediverse actors/domains from interacting with Castopod.

2. Per podcast roles and permissions

Per podcast roles

roll description permissions
Merour·ez Has complete control of podcast #{id}. *
Embanner Manages content and publications of podcast #{id}. view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments
Aozer·ez Manages content of podcast #{id} but cannot publish them. view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips
Kouviad·ez General contributor of the podcast #{id}. view, episodes.view

Per podcast permissions

aotre description
view Can view dashboard and analytics of podcast #{id}.
edit Can edit podcast #{id}.
delete Can delete podcast #{id}.
manage-import Can synchronize imported podcast #{id}.
manage-persons Can manage subscriptions of podcast #{id}.
manage-subscriptions Can manage subscriptions of podcast #{id}.
manage-contributors Can manage contributors of podcast #{id}.
manage-platforms Can set/remove platform links of podcast #{id}.
manage-publications Can publish podcast #{id}.
manage-notifications Can view and mark notifications as read for podcast #{id}.
interact-as Can interact as the podcast #{id} to favourite, share or reply to posts.
episodes.view Can view dashboard and analytics of podcast #{id}.
episodes.create Can create episodes for podcast #{id}.
episodes.edit Can edit podcast #{id}.
episodes.delete Can delete podcast #{id}.
episodes.manage-persons Can manage subscriptions of podcast #{id}.
episodes.manage-clips Can manage video clips or soundbites of podcast #{id}.
episodes.manage-publications Can publish podcast #{id}.
episodes.manage-comments Can create/remove episode comments of podcast #{id}.