linux-credentials / linux-credentials/credentialsd
Add test authenticator to make testing easy without any specific hardware
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 259
- Forks
- 19
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 12
Description
Issue #8 describes implementing a platform authenticator, detailing a bunch of security requirements and whatnot. While that will be desirable eventually, it would be good to have a platform-style authenticator available for testing with in the short term, until such an authenticator (or others, such as in #26) can be implemented.
It is important to avoid a test authenticator being used unwittingly when a proper authenticator should be, so it should probably have a couple properties:
1. Optionally compiled, so it isn't present in non-development builds.
2. Only store credentials in memory. By not persisting anything, there will be no temptation to try and use it for actual use.
3. Maybe restrict to a set list of origins, such as webauthn.io and other testing sites.
Adding such an authenticator would aid development by making it possible to test credentialsd without any specific hardware. Furthermore, it may also serve as a good test case for the API in #8.
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 reading issue #8 for the platform-authenticator API and security requirements, then compare the related work mentioned in #26. The issue is complete when a development-only authenticator can exercise the API without hardware, keeps credentials in memory, and avoids unintended production use through appropriate origin restrictions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- authentication, security, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100