parse-community / parse-community/parse-server
Support secure LINE OpenID Connect id_token authData validation
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 21.4k
- Forks
- 4.8k
- Avg merge
- 7h 45m
- Merged PRs (30d)
- 11
Description
New Feature / Enhancement Checklist
- Report security issues confidentially.
- Any contribution is under this license.
- Before posting search existing issues.
Current Limitation
The LINE auth adapter currently supports the server-side code + redirect_uri exchange flow, and the legacy insecure id + access_token fallback when insecure auth is enabled.
It does not support the common OpenID Connect pattern where a trusted client or separate auth service obtains a LINE id_token, and Parse Server only validates that token before linking/logging in the user.
This differs from providers such as Google / Apple-style auth flows where a secure client-provided token can be validated directly by Parse Server.
Feature / Enhancement Description
Add secure LINE OpenID Connect id_token validation to the LINE auth adapter.
Expected behavior:
- accept LINE authData containing
id_token - verify JWT signature against LINE signing keys / supported algorithms
- validate issuer, audience/client ID, subject, and nonce when provided
- normalize LINE
sub/userIdinto Parse authDataid - keep the existing
code + redirect_uriflow working - keep the legacy insecure auth fallback only when explicitly enabled
A PR implementing this is already open: https://github.com/parse-community/parse-server/pull/10436
Example Use Case
An app uses LINE Login through a separate frontend or auth service. That service obtains a LINE OpenID Connect id_token. Parse Server should not need the LINE client secret or perform the authorization-code exchange itself; it should only validate the resulting LINE identity token and link/login the user.
This is useful when authentication is centralized outside Parse Server, but Parse Server remains the user/account backend.
Alternatives / Workarounds
For this flow, only via enabling the legacy insecure auth.
3rd Party References
- General LINE Login / OpenID Connect ID token validation
I've opened a PR for this at https://github.com/parse-community/parse-server/pull/10436
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the LINE auth adapter and review pull request #10436, which already implements this feature. Check the existing code paths for code exchange and legacy insecure authentication, then verify that the proposed token validation covers the listed claims while preserving those flows. Done means secure id_token login and linking work without requiring the client secret.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100