mirror of
https://github.com/gravitational/teleport.git
synced 2026-11-01 05:27:24 +08:00
The toy interface serves a few purposes: Easy testing of Webauthn login and of interop between CLI and Web Reference for the actual Web UI implementation * Add a toy Webauthn web interface * Use the device type to decide whether to use the App ID * Small tweaks in server and Js * Fix webauthncli TestLogin breakage * Replace Printf with Println
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# Webauthn httpserver
|
|
|
|
The httpserver package contains a toy Webauthn HTTPS server used to test web
|
|
integration and the interplay between web-registered and tsh-registered devices.
|
|
|
|
Devices registered via either interface should be able to be used
|
|
interchangeably (with the exception of Touch ID, which is always tied to a
|
|
specific app).
|
|
|
|
This is meant for local testing and debugging only. Keep it far away from any
|
|
production uses.
|
|
|
|
## Why this exists?
|
|
|
|
* It is a simple way to test web integration
|
|
* It is a simple way to interact with Touch ID
|
|
* Device registration (currently) relies on a streaming RPC, which is difficult
|
|
to interact with using pure Js
|
|
|
|
Note that browser Webauthn APIs need a secure context (or you have to disable a
|
|
bunch of checks in your browser, YMMV).
|
|
|
|
## Usage
|
|
|
|
1. Start the Teleport service
|
|
2. Start the httpserver
|
|
|
|
```shell
|
|
# Generate TLS certificates for the server
|
|
# (Eg, `cd; mkcert localhost 127.0.0.1 ::1`)
|
|
|
|
# Start the test server
|
|
# cd /path/to/teleport/repo
|
|
go run ./lib/auth/webauthn/httpserver/ \
|
|
-cert_file ~/localhost+2.pem \
|
|
-key_file ~/localhost+3-key.pem
|
|
```
|
|
|
|
3. Navigate to https://localhost:8080/index.html
|
|
4. ?
|
|
5. Profit
|