Add QR code login#124
Open
clins1994 wants to merge 3 commits into
Open
Conversation
277a789 to
5f6a66c
Compare
This was referenced Apr 29, 2026
2be029e to
b2e11ae
Compare
b2e11ae to
90662be
Compare
Contributor
Author
|
Follow-up QR login verification notes:
|
Contributor
Author
|
@highesttt ready for your review |
1529b65 to
54a2f91
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds LINE QR code login as the primary login path while keeping email/password available as a secondary flow.
The QR flow follows the LINE Chrome extension v3.7.2 shape: create QR session, append
secret=<public key>&e2eeVersion=1, wait for scan/PIN as needed, complete withqrCodeLoginV2, and persist the returned tokens, certificate, MID, and E2EE keychain metadata.Also keeps email login compatibility with the old flow ID, scopes QR E2EE key unwrap state to the login attempt, and tightens token/decrypt recovery around the new login path.
Fixes #94.
Before
sequenceDiagram participant U as User participant B as Bridge participant L as LINE U->>B: login B-->>U: email/password flow only U->>B: submit email and password B->>L: loginV2 with email/password L-->>B: PIN or verifier flow B-->>U: enter PIN on LINE mobile U->>L: approve login B->>L: complete login L-->>B: tokens and keychain metadataAfter
sequenceDiagram participant U as User participant B as Bridge participant M as LINE mobile participant L as LINE U->>B: login B-->>U: login qr or login email U->>B: login qr B->>L: create QR session and QR code B-->>U: QR callback with secret and e2eeVersion=1 U->>M: scan QR code M->>L: approve login B->>L: verify certificate or request PIN alt PIN required B-->>U: show PIN U->>M: enter PIN B->>L: check PIN verified end B->>L: qrCodeLoginV2 L-->>B: tokens, certificate, MID, keychain metadataVerification
go test ./pkg ./pkg/e2ee ./pkg/connector ./pkg/linegit diff --checkdocker compose build matrix-line