* refactor(cmd): use std `runtime` package to get go version info
- Remove the `GoVersion` variable.
- Remove overriding `GoVersion` by ldflags in `build.sh`.
- Get go version, OS and arch from the constants in the std `runtime` package instead of compile time.
* chore(ci): remove `GoVersion` flag from workflows
Remove GoVersion flag from beta_release.yml and build.yml workflows.
> Reduce compile-time dependencies.
* Add support for client-side discoverable in begin login
Use `(*webauthn.WebAuthn).BeginDiscoverableLogin()` to handle client-side discoverable login.
* Upgrade github.com/go-webauthn/webauthn to v0.10.0
Upgrade [go-webauthn/webauthn](github.com/go-webauthn/webauthn) library to latest.
The convenient finish login function (as FinishDiscoverableLogin) for discoverable functions has been added in the v0.9.0. [^1]
---
[^1]: https://github.com/go-webauthn/webauthn/releases/tag/v0.9.0
* Add support for client-side discoverable in validating login
Use `(*webauthn.WebAuthn).FinishDiscoverableLogin()` to handle client-side discoverable login.
> **NOTE**:
- The first param `rawID` in this callback function is unnecessary to check, it's handled by the third-party webauthn library later.
- `userHandle` param is equal to the ID returned by (User).WebAuthnID() function.