mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-17 16:42:19 +09:00
Backport #39792 Fixes #39790 Signed-off-by: choksi2212 <choksi2212@users.noreply.github.com> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Manas Choksi <162600900+choksi2212@users.noreply.github.com> Co-authored-by: choksi2212 <choksi2212@users.noreply.github.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
co-authored by
Manas Choksi
choksi2212
wxiaoguang
parent
02b18a0c8e
commit
96cb6cd16f
@@ -32,6 +32,14 @@ func Init() {
|
||||
RPID: setting.AppDomain,
|
||||
RPOrigins: []string{appURL},
|
||||
AttestationPreference: protocol.PreferNoAttestation, // Gitea never verifies attestation
|
||||
// WebKit (Safari on iOS and macOS) returns an unsolicited "appid" client
|
||||
// extension output even when the relying party did not request it. Since the
|
||||
// webauthn library upgrade to v0.18, the default policy fails such ceremonies
|
||||
// ('Client returned the appid extension output which was not requested'), breaking
|
||||
// every passkey and security-key login from Safari on iOS. Ignore unsolicited
|
||||
// extension outputs, the same policy other relying parties adopted for the
|
||||
// same WebKit behavior.
|
||||
ExtensionsUnsolicitedOutputPolicy: protocol.UnsolicitedOutputPolicyIgnore,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"gitea.dev/modules/setting"
|
||||
|
||||
"github.com/go-webauthn/webauthn/protocol"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -22,4 +23,5 @@ func TestInit(t *testing.T) {
|
||||
assert.Equal(t, setting.AppDomain, WebAuthn.Config.RPID)
|
||||
assert.Equal(t, setting.AppName, WebAuthn.Config.RPDisplayName)
|
||||
assert.Equal(t, rpOrigin, WebAuthn.Config.RPOrigins)
|
||||
assert.Equal(t, protocol.UnsolicitedOutputPolicyIgnore, WebAuthn.Config.ExtensionsUnsolicitedOutputPolicy)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user