Skip to content

Service Accounts for API consumation (32h) #586

Description

@RolandStuder

Problem

Currently API tokens can only be received by people with their respective permissions, see https://github.com/hitobito/hitobito/blob/master/doc/development/05_rest_api.md

So to give to access to an application independent of a person is currently not possible.

Solution

Creation of service accounts with optionally configurable permissions.

Acceptance Criteria

  • For every layer you can create/delete impersonal API Tokens

  • A token can be described by a name and a description

  • A token is attached to a certain layer, its rights are derived from said layer

  • API Token can only be created by people with :layer_and_below_full and :layer_full permissions

  • per Token I can configure whether a specific API token can

    • read People on Layer
    • read People on Layer and Below
    • read Groups (API to be extended)
    • read Events (API to come)

Open Questions

  • Should private Attributes (like insurance on groups, and private details on people) be included?
  • Where in the UI should this be placed? Belongs to settings, but if a person has access to all layers, it also should have access to all API tokens, so this gets messy. On the info Tab is not really nice, adding a new tab, will pollute the already very filled space.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions