Add auth header in plugins guide

pull/4012/head
Chocobozzz 2021-04-22 11:42:51 +02:00
parent 9da18f62cb
commit 096231d00e
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 30 additions and 1 deletions

View File

@ -58,14 +58,18 @@ export type PeerTubeHelpers = {
}
plugin: {
// PeerTube >= 3.2
getBaseStaticRoute: () => string
// PeerTube >= 3.2
getBaseRouterRoute: () => string
// PeerTube >= 3.2
getDataDirectoryPath: () => string
}
user: {
// PeerTube >= 3.2
getAuthUser: (response: Response) => {
id?: string
username: string

View File

@ -20,6 +20,7 @@
- [Plugin static route](#plugin-static-route)
- [Notifier](#notifier)
- [Markdown Renderer](#markdown-renderer)
- [Auth header](#auth-header)
- [Custom Modal](#custom-modal)
- [Translate](#translate)
- [Get public settings](#get-public-settings)
@ -203,7 +204,7 @@ function register ({
}
```
You can also store files in the plugin data directory (`/{plugins-directory}/data/{npm-plugin-name}`).
You can also store files in the plugin data directory (`/{plugins-directory}/data/{npm-plugin-name}`) **in PeerTube >= 3.2**.
This directory and its content won't be deleted when your plugin is uninstalled/upgraded.
```js
@ -526,6 +527,30 @@ function register (...) {
}
```
#### Auth header
**PeerTube >= 3.2**
To make your own HTTP requests using the current authenticated user, use an helper to automatically set appropriate headers:
```js
function register (...) {
registerHook({
target: 'action:auth-user.information-loaded',
handler: ({ user }) => {
// Useless because we have the same info in the ({ user }) parameter
// It's just an example
fetch('/api/v1/users/me', {
method: 'GET',
headers: peertubeHelpers.getAuthHeader()
}).then(res => res.json())
.then(data => console.log('Hi %s.', data.username))
}
})
}
```
#### Custom Modal
To show a custom modal: