parse-community / parse-community/parse-server

Facebook auth adapter appSecret cannot be set per app ID

Open
#8,196 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:bug
Dominant language
JavaScript
Stars
21.4k
Forks
4.8k
Avg merge
7h 45m
Merged PRs (30d)
11

Description

New Issue Checklist
Issue Description

The Facebook auth adapter takes two config options:

  • appIds: type of array of strings
  • appSecret: type of string

While it's possible to set multiple appIds, it's only possible to set one appSecret. Every Facebook app has its own secret, which means that appSecret can only be used if appIds only has a single array element, i.e. Parse Server is configured to support only one Facebook app.

Steps to reproduce

n/a

Actual Outcome

It's not possible to set a secret per Facebook app ID.

Expected Outcome

It should be possible to set a secret per Facebook app ID, e.g. with the following config:

auth: {
  facebook: {
    apps: [
      {
        id: 'id1',
        secret: 'secret1'
      },
      {
        id: 'id2',
        secret: 'secret2'
      }
    ]
  }
}

As this is a breaking change, Parse Server should temporarily accept the apps option in addition to the current config options, which should be deprecated.

Environment

Server

  • Parse Server version: 5.3.0-alpha.26
References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Use the Facebook auth adapter's current appIds/appSecret handling as the entry point. Compare the proposed apps structure with existing configuration compatibility requirements and identify coverage for both new per-app secrets and deprecated options. Done means multiple Facebook app IDs can each authenticate with their own secret while existing configuration remains temporarily accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authentication
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.