The CompanionAppsController provides the API for pairing a companion app.
For the UI this patch adds a companion-app dashboard component that allows for:
- Pairing a companion-app via qr-code
- Listing paired companion apps
- Forgetting paired companion apps.
Please note that there is currently no mechanism in place to block a companion app. Forgetting the app will delete it, but the app can simply reconnect via the oauth token that is still on the device.
For blocking we could:
- invalidate the oauth credentials so the app simply no longer has access to the api
- The device could obtain a new token given the password is provided again.
- Not delete the device entry, but instead have a "blocked" state.