mirror of
https://github.com/nextcloud/server.git
synced 2026-02-19 02:38:40 -05:00
fix(core): adjust fronend code for changes in webauthn library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
parent
823551d5c3
commit
60dd89e04c
3 changed files with 14 additions and 8 deletions
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import type { RegistrationResponseJSON } from '@simplewebauthn/types'
|
||||
import type { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON } from '@simplewebauthn/types'
|
||||
|
||||
import { translate as t } from '@nextcloud/l10n'
|
||||
import { generateUrl } from '@nextcloud/router'
|
||||
|
|
@ -21,9 +21,9 @@ export async function startRegistration() {
|
|||
|
||||
try {
|
||||
logger.debug('Fetching webauthn registration data')
|
||||
const { data } = await axios.get(url)
|
||||
const { data } = await axios.get<PublicKeyCredentialCreationOptionsJSON>(url)
|
||||
logger.debug('Start webauthn registration')
|
||||
const attrs = await registerWebAuthn(data)
|
||||
const attrs = await registerWebAuthn({ optionsJSON: data })
|
||||
return attrs
|
||||
} catch (e) {
|
||||
logger.error(e as Error)
|
||||
|
|
|
|||
|
|
@ -5,11 +5,15 @@
|
|||
<template>
|
||||
<form v-if="(isHttps || isLocalhost) && supportsWebauthn"
|
||||
ref="loginForm"
|
||||
aria-labelledby="password-less-login-form-title"
|
||||
class="password-less-login-form"
|
||||
method="post"
|
||||
name="login"
|
||||
@submit.prevent="submit">
|
||||
<h2>{{ t('core', 'Log in with a device') }}</h2>
|
||||
<h2 id="password-less-login-form-title">
|
||||
{{ t('core', 'Log in with a device') }}
|
||||
</h2>
|
||||
|
||||
<NcTextField required
|
||||
:value="user"
|
||||
:autocomplete="autoCompleteAllowed ? 'on' : 'off'"
|
||||
|
|
@ -41,9 +45,11 @@
|
|||
</NcEmptyContent>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script type="ts">
|
||||
import { browserSupportsWebAuthn } from '@simplewebauthn/browser'
|
||||
import { defineComponent } from 'vue'
|
||||
import {
|
||||
NoValidCredentials,
|
||||
startAuthentication,
|
||||
finishAuthentication,
|
||||
} from '../../services/WebAuthnAuthenticationService.ts'
|
||||
|
|
@ -56,7 +62,7 @@ import LoginButton from './LoginButton.vue'
|
|||
import LockOpenIcon from 'vue-material-design-icons/LockOpen.vue'
|
||||
import logger from '../../logger'
|
||||
|
||||
export default {
|
||||
export default defineComponent({
|
||||
name: 'PasswordLessLoginForm',
|
||||
components: {
|
||||
LoginButton,
|
||||
|
|
@ -143,7 +149,7 @@ export default {
|
|||
// noop
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ export async function startAuthentication(loginName: string) {
|
|||
logger.error('No valid credentials returned for webauthn')
|
||||
throw new NoValidCredentials()
|
||||
}
|
||||
return await startWebauthnAuthentication(data)
|
||||
return await startWebauthnAuthentication({ optionsJSON: data })
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue