Почему Auth0.js выдает мне ошибки проверки полезной нагрузки "Ни одна из допустимых схем не была соблюдена" и "Отсутствует обязательное свойство" в параметре Без пароля / Проверка?
Мой клиент SPA использует Auth0.js для запуска без проверки пароля / проверки подлинности пользователей. Моя страница обратного вызова авторизации получает приведенную ниже ошибку проверки полезной нагрузки. Я проверил, что пользователь существует для подключения SMS на панели инструментов Auth0 и что на клиенте SPA включено подключение SMS.
Ошибка:
https://localhost:9001/auth/callback#error=access_denied&error_description=
Payload%20validation%20error%253A%20'None%20of%20the%20valid%20schemas%20were%20met'
.%20Inner%20errors%253A%20%5B%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20blocked'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20email_verified'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20email'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20verify_email'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20phone_number'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20phone_verified'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20verify_phone_number'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20password'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20verify_password'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20user_metadata'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20app_metadata'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20username'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20client_id'
.%20(also)%20Payload%20validation%20error%253A%20'Missing%20required%20property%253A%20groups'
.%20%5D.&state=statehash
Auth0 Initialization:
this.auth0 = new auth0.WebAuth({
audience: `https://${authSettings.domain}/userinfo`,
clientID: authSettings.checkoutClientId,
domain: authSettings.domain,
redirectUri: authSettings.checkoutCallbackUrl,
responseType: 'token id_token',
scope: 'openid email profile'
});
Начало без пароля:
this.auth0.passwordlessStart({
connection: 'sms',
send: 'code',
phoneNumber: phoneNumber,
authParams: {
responseType: 'token id_token',
scope: 'openid email profile'
}
}
Проверка без пароля:
this.auth0.passwordlessVerify({
connection: 'sms',
phoneNumber: phoneNumber,
verificationCode: confirmationCode,
type: 'sms',
authParams: {
responseType: 'token id_token',
scope: 'openid email profile'
}
}
"Отсутствующие обязательные параметры" даже не имеют смысла для вызова без пароля / проверки.
1 ответ
Оказывается, ошибка фактически была выброшена в пользовательское правило Auth0, но появлялась только через обратный вызов auth.
В частности, у нас было правило, которое называется auth0.users.updateAppMetadata
а также auth0.users.updateUserMetadata
которые, видимо, не работают с беспарольными SMS-соединениями.