Skip to content

Auth: request-link and verify flows - #46

Open
RandyJDean wants to merge 1 commit into
07-09-auth_core_building_blocks_token_generation_repositories_clockfrom
07-09-auth_request-link_and_verify_flows
Open

Auth: request-link and verify flows#46
RandyJDean wants to merge 1 commit into
07-09-auth_core_building_blocks_token_generation_repositories_clockfrom
07-09-auth_request-link_and_verify_flows

Conversation

@RandyJDean

Copy link
Copy Markdown
Contributor
  • AuthService.requestLink: normalize email, Bucket4j rate limits
    (3/email + 10/IP per 15 min) enforced silently, invalidate prior
    tokens, email a 15-minute single-use link via the EmailSender port
    (dev profile logs the link instead of sending)
  • AuthService.verify: atomic UPDATE..RETURNING consume, shell member
    creation on first login (ON CONFLICT DO NOTHING + re-select)
  • Generic response contract: request-link always answers the same way,
    so account existence and rate limiting are unobservable
  • InvalidMagicLinkException -> 400 failure envelope

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

RandyJDean commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@graphite-app

graphite-app Bot commented Jul 10, 2026

Copy link
Copy Markdown

Graphite Automations

"Request reviewers once CI passes" took an action on this PR • (07/10/26)

2 reviewers were added to this PR based on Henry Chen's automation.

Comment thread src/main/java/org/patinanetwork/patchats/auth/AuthService.java
@RandyJDean
RandyJDean force-pushed the 07-09-auth_core_building_blocks_token_generation_repositories_clock branch from e49fcf1 to 789997b Compare July 31, 2026 17:24
@RandyJDean
RandyJDean force-pushed the 07-09-auth_request-link_and_verify_flows branch from 9ebd548 to 2a9e88a Compare July 31, 2026 17:24
@RandyJDean
RandyJDean force-pushed the 07-09-auth_core_building_blocks_token_generation_repositories_clock branch from 789997b to 71f627d Compare July 31, 2026 18:17
@RandyJDean
RandyJDean force-pushed the 07-09-auth_request-link_and_verify_flows branch from 2a9e88a to 04a095e Compare July 31, 2026 18:17
- AuthService.requestLink: normalize email, Bucket4j rate limits
  (3/email + 10/IP per 15 min) enforced silently, invalidate prior
  tokens, email a 15-minute single-use link via the EmailSender port
  (dev profile logs the link instead of sending)
- AuthService.verify: atomic UPDATE..RETURNING consume, shell member
  creation on first login (ON CONFLICT DO NOTHING + re-select)
- Generic response contract: request-link always answers the same way,
  so account existence and rate limiting are unobservable
- InvalidMagicLinkException -> 400 failure envelope

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@RandyJDean
RandyJDean force-pushed the 07-09-auth_core_building_blocks_token_generation_repositories_clock branch from 71f627d to 2c57e4c Compare August 10, 2026 18:15
@RandyJDean
RandyJDean force-pushed the 07-09-auth_request-link_and_verify_flows branch from 04a095e to 5e4d0fb Compare August 10, 2026 18:15
@sonarqubecloud

Copy link
Copy Markdown

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.

3 participants