Skip to content

Commit 04926f6

Browse files
committed
docs: Address README feedback
1 parent 5f1da41 commit 04926f6

File tree

3 files changed

+51
-19
lines changed

3 files changed

+51
-19
lines changed

BUILDING.md

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This project uses Meson, Ninja, and Cargo.
77
We use Meson 1.5.0+. If your package manager has an older version, you can
88
install a new version [using the pip module][meson-pip-install].
99

10-
There is currently no documented minimum support Rust version (MSRV), but 1.83+
10+
There is currently no documented minimum support Rust version (MSRV), but 1.85+
1111
should work.
1212

1313
[meson-pip-install]: https://mesonbuild.com/Quick-guide.html#installation-using-python
@@ -60,7 +60,9 @@ sudo dnf install \
6060

6161
# For Installing/Testing
6262

63-
If you are interested in installing the program, you can use `meson install` to install the details.
63+
If you are interested in installing the program, you can use `meson install` to
64+
install the details. (If you would like to test without installing, you can
65+
follow the [build instructions for development](#for-development) below.)
6466

6567
```shell
6668
git clone https://github.com/linux-credentials/credentialsd
@@ -70,13 +72,22 @@ cd build-release
7072
meson install
7173
```
7274

73-
Note that since it Meson is installing to `/usr/local`, Meson will ask you to use `sudo` to elevate privileges to install.
75+
Note that since Meson is installing to `/usr/local`, it will ask you to use
76+
`sudo` to elevate privileges to install.
7477

75-
The first time you run this, you must log out and log back in again to restart the D-Bus session bus for it to automatically start the D-Bus services on-demand.
78+
## Running the installed server
7679

77-
### Testing with Firefox Web Add-On
80+
When using the installed server, systemd or D-Bus should take care of starting
81+
the services on demand, so you don't need to start it manually.
7882

79-
Note: If you are testing the Firefox web extension, you will need to link the native messaging manifest to your home directory, since Firefox does not read from `/usr/local`:
83+
The first time you install this, though, you must log out and log back in again
84+
for the service activation files to take effect.
85+
86+
## Testing installed builds with Firefox Web Add-On
87+
88+
Note: If you are testing the Firefox web extension, you will need to link the
89+
native messaging manifest to your home directory, since Firefox does not read
90+
from `/usr/local`:
8091

8192
```shell
8293
mkdir -p ~/.mozilla/native-messaging-hosts/
@@ -92,7 +103,7 @@ meson setup -Dprofile=development build
92103
ninja -C build
93104
```
94105

95-
## Running the server
106+
## Running the server for development
96107

97108
To run the required services during development, you need to add some
98109
environment variables.
@@ -105,6 +116,11 @@ export RUST_LOG=credentialsd=debug,credentials_ui=debug
105116
./build/credentialsd-ui/target/debug/credentialsd-ui
106117
```
107118

119+
## Testing development builds with Firefox Web Add-On
120+
121+
If you are using the Firefox add-on to build, follow the instructions for
122+
development in [`webext/README.md`](/webext/README.md#for-development).
123+
108124
# For Packaging
109125

110126
There are a few Meson options to control the build that may be useful for packagers.

GOALS.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
11
# Goals
22

3-
The goal of this repository is to define a spec for clients (apps, browsers,
4-
etc.) to retrieve user credentials in a uniform way across Linux desktop
5-
environments.
3+
The goal of this repository is to define a spec and implementation for clients
4+
(apps, browsers, etc.) to retrieve user credentials in a uniform way across
5+
Linux desktop environments.
6+
7+
## Motivation
8+
9+
Our primary motivation is to get passkey into the hands of users. Passkeys are
10+
growing as a powerful authentication mechanism for users. As the ecosystem
11+
becomes more mature, browsers are deferring access to passkeys to OS APIs on
12+
other platforms, like Windows Hello, Keychain on macOS and iOS, and
13+
Credential Manager on Android.
14+
15+
On Linux, there is no OS API so handling passkeys is entirely up to the browser,
16+
which is at a disadvantage to the OS in terms of hardware access and desktop
17+
integration. This situation also requires each individual browser or application
18+
to reimplement the same features. We want to change that!
19+
20+
## Direction
621

722
Some high-level goals:
823

@@ -25,7 +40,8 @@ Some non-goals:
2540

2641
- Fully integrate with any specific desktop environment. Each desktop
2742
environment (GNOME, KDE, etc.) has its own UI and UX conventions, as well as
28-
system configuration methods (e.g., GNOME Settings), which this API will need to integrate with.
43+
system configuration methods (e.g., GNOME Settings), which this API will need
44+
to integrate with.
2945
Because of the variation, we intend to leave integration with these other
3046
components to developers more familiar with each of the desktop environments.
3147
For now, we are using bare GTK to build a UI for testing, but any UI
@@ -42,7 +58,7 @@ Some non-goals:
4258
process is transparent enough that someone else could design something that
4359
works for BSDs.
4460

45-
## Current Work
61+
## Progress
4662

4763
- April 2025: Added web extension for testing in Firefox.
4864
- March 2025: Integrated libwebauthn to support USB authenticators.

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@ A Linux Credential Manager API.
44

55
(Previously called `linux-webauthn-platform-api`.)
66

7+
## Goals
8+
9+
The primary goal of this project is to provide a spec and reference
10+
implementation of an API to mediate access to web credentials, initially local
11+
and remote FIDO2 authenticators. See [GOALS.md](/GOALS.md) for more information.
12+
713
## How to install
814

915
### From packages
1016

1117
We have [precompiled RPM packages for Fedora and openSUSE][obs-packages] hosted
12-
by Open Build Services (OBS). We also copy these for released versions to the
18+
by the Open Build Service (OBS). We also copy these for released versions to the
1319
[release page][release-page].
1420

1521
There are several sub-packages:
@@ -63,12 +69,6 @@ cd demo_client/
6369

6470
There is also a demo web extension that can be used to test the service in Firefox. Instructions are in [/webext/README.md]().
6571

66-
## Goals
67-
68-
The primary goal of this project is to provide a spec and reference
69-
implementation of an API to mediate access to web credentials, initially local
70-
and remote FIDO2 authenticators. See [GOALS.md](/GOALS.md) for more information.
71-
7272
## Mockups
7373

7474
Here are some mockups of what this would look like for a user:

0 commit comments

Comments
 (0)