funkwhale/docs/locales/gettext/developers/authentication.pot

242 wiersze
7.1 KiB
Plaintext

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2022, The Funkwhale Collective
# This file is distributed under the same license as the funkwhale package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, 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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 <https://docs.funkwhale.audio/swagger/>`_."
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 <https://tools.ietf.org/html/rfc6749#section-4.1>`_."
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 <https://tools.ietf.org/html/rfc6749#section-6>`_."
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:<base_scope>`: get read-only access to the resource"
msgstr ""
#: ../../developers/authentication.rst:57
msgid "`write:<base_scope>`: 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 "``<read/write>:profile``"
msgstr ""
#: ../../developers/authentication.rst:77
msgid "Access to profile data (e-mail address, username, etc.)"
msgstr ""
#: ../../developers/authentication.rst:78
msgid "``<read/write>:libraries``"
msgstr ""
#: ../../developers/authentication.rst:79
msgid "Access to library data (uploads, libraries, tracks, albums, artists…)"
msgstr ""
#: ../../developers/authentication.rst:80
msgid "``<read/write>:favorites``"
msgstr ""
#: ../../developers/authentication.rst:81
msgid "Access to favorites"
msgstr ""
#: ../../developers/authentication.rst:82
msgid "``<read/write>:listenings``"
msgstr ""
#: ../../developers/authentication.rst:83
msgid "Access to history"
msgstr ""
#: ../../developers/authentication.rst:84
msgid "``<read/write>:follows``"
msgstr ""
#: ../../developers/authentication.rst:85
msgid "Access to followers"
msgstr ""
#: ../../developers/authentication.rst:86
msgid "``<read/write>:playlists``"
msgstr ""
#: ../../developers/authentication.rst:87
msgid "Access to playlists"
msgstr ""
#: ../../developers/authentication.rst:88
msgid "``<read/write>:radios``"
msgstr ""
#: ../../developers/authentication.rst:89
msgid "Access to radios"
msgstr ""
#: ../../developers/authentication.rst:90
msgid "``<read/write>:filters``"
msgstr ""
#: ../../developers/authentication.rst:91
msgid "Access to content filters"
msgstr ""
#: ../../developers/authentication.rst:92
msgid "``<read/write>:notifications``"
msgstr ""
#: ../../developers/authentication.rst:93
msgid "Access to notifications"
msgstr ""
#: ../../developers/authentication.rst:94
msgid "``<read/write>:edits``"
msgstr ""
#: ../../developers/authentication.rst:95
msgid "Access to metadata edits"
msgstr ""