payload-authjs
Version:
A Payload CMS 3 plugin for Auth.js 5
62 lines (61 loc) • 1.86 kB
JavaScript
import { getProviderMetadata } from "../../../authjs/utils/config";
/**
* Authenticators field for a user
*
* @see https://authjs.dev/reference/core/adapters#adapterauthenticator
* @see https://authjs.dev/reference/core/types#authenticator
*/ export const authenticatorsField = (pluginOptions)=>{
const providers = pluginOptions.authjsConfig.providers.map((provider)=>getProviderMetadata(provider)).filter((provider)=>provider.type === "webauthn");
return {
name: "authenticators",
type: "array",
fields: [
{
name: "credentialID",
type: "text",
required: true,
index: true
},
{
name: "credentialPublicKey",
type: "text",
required: true
},
{
name: "credentialBackedUp",
type: "checkbox",
required: true
},
{
name: "counter",
type: "number",
required: true
},
{
name: "transports",
type: "text"
},
{
name: "credentialDeviceType",
type: "text",
required: true
}
],
admin: {
initCollapsed: true,
components: {
afterInput: providers.map((provider)=>({
path: "payload-authjs/components/webauthn#AddAuthenticatorButton",
clientProps: {
provider
}
}))
}
},
access: {
create: ()=>false,
update: ()=>false
}
};
};
//# sourceMappingURL=authenticators.js.map