# SOME DESCRIPTIVE TITLE. # Copyright (C) 2022, The Funkwhale Collective # This file is distributed under the same license as the funkwhale package. # FIRST AUTHOR , 2022. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: funkwhale 1.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-07-03 22:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.1\n" #: ../../developers/authentication.rst:2 msgid "API Authentication" msgstr "" #: ../../developers/authentication.rst:4 msgid "Each Funkwhale API endpoint supports access from:" msgstr "" #: ../../developers/authentication.rst:6 msgid "" "Anonymous users (if the endpoint is configured to do so, for exemple via " "the ``API Authentication Required`` setting)" msgstr "" #: ../../developers/authentication.rst:7 msgid "Logged-in users" msgstr "" #: ../../developers/authentication.rst:8 msgid "Third-party apps (via OAuth2)" msgstr "" #: ../../developers/authentication.rst:10 msgid "" "To seamlessly support this range of access modes, we internally use oauth" " scopes to describes what permissions are required to perform any given " "operation." msgstr "" #: ../../developers/authentication.rst:14 msgid "OAuth" msgstr "" #: ../../developers/authentication.rst:17 msgid "Create an app" msgstr "" #: ../../developers/authentication.rst:19 msgid "" "To connect to Funkwhale API via OAuth, you need to create an application." " There are two ways to do that:" msgstr "" #: ../../developers/authentication.rst:22 msgid "" "By visiting ``/settings/applications/new`` when logged in on your " "Funkwhale instance." msgstr "" #: ../../developers/authentication.rst:23 msgid "" "By sending a ``POST`` request to ``/api/v1/oauth/apps/``, as described in" " `our API documentation `_." msgstr "" #: ../../developers/authentication.rst:25 msgid "Both method will give you a client ID and secret." msgstr "" #: ../../developers/authentication.rst:28 msgid "Getting an access token" msgstr "" #: ../../developers/authentication.rst:30 msgid "" "Once you have a client ID and secret, you can request access tokens using" " the `authorization code grant flow " "`_." msgstr "" #: ../../developers/authentication.rst:33 msgid "" "We support the ``urn:ietf:wg:oauth:2.0:oob`` redirect URI for non-web " "applications, as well as traditionnal redirection-based flow." msgstr "" #: ../../developers/authentication.rst:36 msgid "" "Our authorization endpoint is located at ``/authorize``, and our token " "endpoint at ``/api/v1/oauth/token/``." msgstr "" #: ../../developers/authentication.rst:39 msgid "Refreshing tokens" msgstr "" #: ../../developers/authentication.rst:41 msgid "" "When your access token is expired, you can `request a new one as " "described in the OAuth specification " "`_." msgstr "" #: ../../developers/authentication.rst:44 msgid "Security considerations" msgstr "" #: ../../developers/authentication.rst:46 msgid "" "Grant codes are valid for a 5 minutes after authorization request is " "approved by the end user." msgstr "" #: ../../developers/authentication.rst:47 msgid "" "Access codes are valid for 10 hours. When expired, you will need to " "request a new one using your refresh token." msgstr "" #: ../../developers/authentication.rst:48 msgid "" "We return a new refresh token everytime an access token is requested, and" " invalidate the old one. Ensure you store the new refresh token in your " "app." msgstr "" #: ../../developers/authentication.rst:52 msgid "Scopes" msgstr "" #: ../../developers/authentication.rst:54 msgid "" "Scopes are defined in " ":file:`funkwhale_api/users/oauth/scopes.py:BASE_SCOPES`, and generally " "are mapped to a business-logic resources (follows, favorites, etc.). All " "those base scopes come in two flawours:" msgstr "" #: ../../developers/authentication.rst:56 msgid "`read:`: get read-only access to the resource" msgstr "" #: ../../developers/authentication.rst:57 msgid "`write:`: get write-only access to the ressource" msgstr "" #: ../../developers/authentication.rst:59 msgid "" "For example, ``playlists`` is a base scope, and ``write:playlists`` is " "the actual scope needed to perform write operations on playlists (via a " "``POST``, ``PATCH``, ``PUT`` or ``DELETE``. ``read:playlists`` is used to" " perform read operations on playlists such as fetching a given playlist " "via ``GET``." msgstr "" #: ../../developers/authentication.rst:63 msgid "" "Having the generic ``read`` or ``write`` scope give you the corresponding" " access on *all* resources." msgstr "" #: ../../developers/authentication.rst:65 msgid "" "This is the list of OAuth scopes that third-party applications can " "request:" msgstr "" #: ../../developers/authentication.rst:67 msgid "Oauth scopes" msgstr "" #: ../../developers/authentication.rst:70 msgid "Scope" msgstr "" #: ../../developers/authentication.rst:71 msgid "Description" msgstr "" #: ../../developers/authentication.rst:72 msgid "``read``" msgstr "" #: ../../developers/authentication.rst:73 msgid "Read-only access to all data (equivalent to all ``read:*`` scopes)." msgstr "" #: ../../developers/authentication.rst:74 msgid "``write``" msgstr "" #: ../../developers/authentication.rst:75 msgid "Read-only access to all data (equivalent to all ``write:*`` scopes)." msgstr "" #: ../../developers/authentication.rst:76 msgid "``:profile``" msgstr "" #: ../../developers/authentication.rst:77 msgid "Access to profile data (e-mail address, username, etc.)" msgstr "" #: ../../developers/authentication.rst:78 msgid "``:libraries``" msgstr "" #: ../../developers/authentication.rst:79 msgid "Access to library data (uploads, libraries, tracks, albums, artists…)" msgstr "" #: ../../developers/authentication.rst:80 msgid "``:favorites``" msgstr "" #: ../../developers/authentication.rst:81 msgid "Access to favorites" msgstr "" #: ../../developers/authentication.rst:82 msgid "``:listenings``" msgstr "" #: ../../developers/authentication.rst:83 msgid "Access to history" msgstr "" #: ../../developers/authentication.rst:84 msgid "``:follows``" msgstr "" #: ../../developers/authentication.rst:85 msgid "Access to followers" msgstr "" #: ../../developers/authentication.rst:86 msgid "``:playlists``" msgstr "" #: ../../developers/authentication.rst:87 msgid "Access to playlists" msgstr "" #: ../../developers/authentication.rst:88 msgid "``:radios``" msgstr "" #: ../../developers/authentication.rst:89 msgid "Access to radios" msgstr "" #: ../../developers/authentication.rst:90 msgid "``:filters``" msgstr "" #: ../../developers/authentication.rst:91 msgid "Access to content filters" msgstr "" #: ../../developers/authentication.rst:92 msgid "``:notifications``" msgstr "" #: ../../developers/authentication.rst:93 msgid "Access to notifications" msgstr "" #: ../../developers/authentication.rst:94 msgid "``:edits``" msgstr "" #: ../../developers/authentication.rst:95 msgid "Access to metadata edits" msgstr "" #~ msgid "Read-only access to all data (equivalent to all ``read:*`` scopes)" #~ msgstr "" #~ msgid "Write-only access to all data (equivalent to all ``write:*`` scopes)" #~ msgstr "" #~ msgid "Access to library data (uploads, libraries tracks, albums, artists...)" #~ msgstr ""