spring-projects / spring-projects/spring-security

SEC-2516: Hardening Authentication Controls

Open
#2,731 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in: web type: jira
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

Matt Konda (Migrated from SEC-2516) said:

Provide capability and reference documentation for setting up the following features related to authentication (extending slightly on existing Spring security capabilities):

  • Configurable lockout after N failed attempts
  • Auto-unlock after a period of M minutes or via email
  • Password reset flow (token + time limit)
  • Temporary access pending email confirmation flow (time limited access until email link with token followed)
  • Configurable password complexity enforcement
  • Notification of password change (configurable to send email)
  • Filter to prevent multiple concurrent sessions with the same login
  • Support for multi-factor authentication

Idea would be to put each of these as a separate story that is part of this epic.

Inspired by:
https://www.owasp.org/index.php/Authentication_Cheat_Sheet
https://github.com/plataformatec/devise

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

Start by splitting the listed authentication controls into separate stories, as the issue suggests, and review the existing Spring Security capabilities. Use the linked OWASP Authentication Cheat Sheet and Devise project as references. Each story is done when its capability and corresponding reference documentation have defined scope and acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication, documentation, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.