OWASP / OWASP/SecurityShepherd
SSO implementation for Mobile Apps
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 515
- Avg merge
- 3h 46m
- Merged PRs (30d)
- 1
Description
The current login App will take a username and password and send it to a Security Shepherd Web instance, if these credentials exist in the database, the Web App will respond with a JSON object containing a session ID and a CSRF token.
- The Login App needs to take these values and store them in a Content Provider. This will allow all other Apps with the Content Provider's URI to access the session value. The URL for the Security Shepherd web app also needs to be stored for other Apps to reference when performing network operations.
- Upon opening any of the vulnerable apps, if the session value is empty or invalid, the user is informed that they need to login and they will be redirected to the Mobile Login.
- Where relevant, upon completing a mobile lesson/challenge, the key is taken from the web server using the users session ID. Ensuring keys are no longer the same for every user.
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 by tracing the mobile Login App flow described in the issue, then identify the vulnerable apps and lesson/challenge completion paths that use session data. Done means shared session and web-app URL storage, login redirection for empty or invalid sessions, and per-user challenge keys are implemented across the relevant mobile apps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authentication, mobile-dev, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100