Skip to content

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

Instance roles

roledescriptionpermissions
Super administradorTem controle completo sobre Castopod.admin.*, plugins.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks
GerenteGerencia o conteúdo de Castopod.podcasts.create, podcasts.import, persons.manage, pages.manage
PodcasterUsuários gerais do Castopod.admin.access

Instance permissions

permissiondescription
admin.accessPode acessar a área de administração do Castopod.
admin.settingsPode acessar as configurações de Castopod.
plugins.manageAuth.instance_permissions.plugins.manage
users.managePode gerenciar usuários do Castopod.
persons.managePode gerenciar pessoas.
pages.managePode gerenciar páginas.
podcasts.viewPode ver todos os podcasts.
podcasts.createPode criar novos podcasts.
podcasts.importPode importar podcasts.
fediverse.manage-blocksPode bloquear ator/domínios distintos de interagir com Castopod.

2. Per podcast roles and permissions

Per podcast roles

roledescriptionpermissions
AdministradorTem controle completo do podcast #{id}.*
EditorGerencia o conteúdo e as publicações do 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
AutorGerencia o conteúdo do podcast #{id} mas não pode publicá-los.view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips
ConvidadoContribuidor geral do podcast #{id}.view, episodes.view

Per podcast permissions

permissiondescription
viewPode visualizar o painel de controle e análises do podcast #{id}.
editPode editar o podcast #{id}.
deletePode deletar episódios do podcast #{id}.
manage-importPode sincronizar o podcast importado #{id}.
manage-personsPode gerenciar assinaturas do podcast #{id}.
manage-subscriptionsPode gerenciar assinaturas do podcast #{id}.
manage-contributorsPode gerenciar contribuidores do podcast #{id}.
manage-platformsPode definir/remover links de plataforma do podcast #{id}.
manage-publicationsPode publicar podcast #{id}.
manage-notificationsPode ver e marcar notificações como lidas para o podcast #{id}.
interact-asPode interagir com o podcast #{id} para favorito, compartilhar ou responder às publicações.
episodes.viewPode ver painéis e análises de episódios de podcast #{id}.
episodes.createPode criar episódios para o podcast #{id}.
episodes.editPode editar episódios de podcast #{id}.
episodes.deletePode excluir episódios do podcast #{id}.
episodes.manage-personsPode gerenciar pessoas de episódios do podcast #{id}.
episodes.manage-clipsPode gerenciar clipes de vídeo ou sons de episódios do podcast #{id}.
episodes.manage-publicationsPode publicar/remover a publicação de episódios e postagens de podcast #{id}.
episodes.manage-commentsPode criar/remover comentários de episódio do podcast #{id}.