Skip to content

Gate Overseerr requests behind a shared PIN - #21

Merged
valeboth merged 1 commit into
mainfrom
feat/request-pin
Aug 25, 2026
Merged

Gate Overseerr requests behind a shared PIN#21
valeboth merged 1 commit into
mainfrom
feat/request-pin

Conversation

@valeboth

Copy link
Copy Markdown
Owner

The app is public (anyone can match), so Overseerr requests are now gated by a shared PIN — otherwise a stranger could queue downloads on your server.

  • POST /api/rooms/:id/request: requires pin === REQUEST_PIN. No PIN set → requests_disabled (closed by default); wrong PIN → invalid_pin.
  • Frontend: 'Add to Overseerr' asks for the PIN once, stores it locally, re-asks on a wrong PIN.
  • REQUEST_PIN secret (env + .dev.vars.example).

Tested local: with no PIN set, requests are disabled (403). After merge, set REQUEST_PIN (I'll do prod) to activate it for you + your partner.

- POST /rooms/:id/request now requires a shared REQUEST_PIN (the app itself is public):
  no PIN configured -> requests_disabled; wrong PIN -> invalid_pin; else request proceeds
- frontend: Add to Overseerr prompts for the PIN once, stores it locally, re-prompts on
  invalid_pin
- Env + .dev.vars.example: REQUEST_PIN

Tested local: unset -> requests_disabled (403, closed by default).
@valeboth
valeboth merged commit 3b80902 into main Aug 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant