I'm facing the same problem as OP.
We are creating a Digital Wallet app to allow people to manager their own credentials, including passkeys. We've completed our Android work and I'm now porting it to iOS.
When using webauthn.io or webauthn.me with our iOS app, I get the same error:
The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
on Firefox and Safari, and the following on Chrome:
The operation either timed out or was not allowed. See: https://www.w3.org/TR/webauthn-2/#sctn-privacy-considerations-client.
This is after I scan the QR code with my iPhone camera app, press the "Save a passkey" button that pops up and then press "Continue" on the "Create a passkey? A passkey for ... will be saved and available on devices where [insert app] is installed".
We don't seem to have this error on Android, at all. On Android, it is possible to use our app, or any other passkey/password manager, to register on the example webauthn page.
@JerryCarter I think you've misunderstood what OP is doing. They are not trying to use webauthn.io as a form of 3rd party authentication for their own website. Rather, we are using it as a way to test out how our password manager-type app is able to do the FIDO2/Webauthn Register and Authenticate flow on a 3rd party website. As a stand in for other services, like Github, Twitter, etc that also accept passkeys.
I've been going through the Apple documentation and, unless I'm wrong (which I hope I am), the only way to make this work is to either 1) make use of iCloud Keychain to manage our passkeys, 2) only make this work on websites that are our associated domain (with the website in turn adding our app's bundle id /.well-known/, e.g. https://webauthn.io/.well-known/apple-app-site-association).
I decided to double check and see if Bitwarden, my password manager, works on webauthn.io. It didnt, and it makes sense given that this is the associated app under the aforementioned endpoint:
{"webcredentials": {"apps": ["FNN8Z5JMFP.com.duosecurity.mattmil3.WebAuthn-In-Thick-Client"]}}
Meanwhile, if I open up webauthn.io in my computer browser or in my Android (firefox browser), I am able to save a passkey in Bitwarden.
This seems to me that Apple is still trying to cripple 3rd party password managers, forcing them to rely on iCloud or to only work on a narrow set of websites.
Or am I missing something?