This repository has been archived on 2023-02-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
flamenco-manager/docs/source/developer_manual/authentication.rst
T

1.4 KiB

Sphinx Warnings

32: WARNING: Bullet list ends without a blank line; unexpected unindent.

Note the preview is not accurate and warnings may not indicate real issues.

Authentication

Authentication and authorization of users should happen for every component of the Flamenco network.

In general, we propose to do the following:

  • Server stores users and roles (primarily to associate them with jobs)

  • Dashboard checks with server for users auth to give them access

  • Managers have their own auth system, that allows only owners to update settings

  • Workers have optional authentication (which is defined at the Manager level)

Stages of authentication and authorization

User is registered or not on the server (check via SDK) Server returns token for subsequent requests User

Roles

Possible user roles:

  • admin (super admin of the Flamenco network)

  • manager_<manager_uuid> (owner of a manager). When doing requests to a manager,

the manager uuid gets cross referenced with the user role

Project memberships

User capabilities could also defined on a per-project basis, allowing a user to view all jobs for any project, but to submit jobs only to one.

Flamenco SDK

Collection of classes used to interact with the Flamenco Server. Main features are:

  • Client authentication

  • Client registration (coming soon, after Blender-ID)

  • Object wrapper for Users, Managers, Jobs and Tasks

The Flamenco SDK will be used in:

  • Dashboard

  • Manager

  • Blender Python Add-on