#next.js #auth0
Вопрос:
Я использую nextjs-auth0. Я создал обычное веб-приложение в Auth0, nextjs-auth0 добавляет параметр состояния в URL-адрес, после успешного входа в систему auth0 перенаправляет обратно на мой Next.js приложение, это то, где возникает ошибка «состояние отсутствует в ответе», я не могу видеть состояние в URL-адресе и в консоли, которую я вижу
Cookie “state” has been rejected because it is already expired. callback
Cookie “_state” has been rejected because it is already expired. callback
Cookie “max_age” has been rejected because it is already expired. callback
Cookie “_max_age” has been rejected because it is already expired. callback
Cookie “code_verifier” has been rejected because it is already expired. callback
Cookie “_code_verifier” has been rejected because it is already expired. callback
Cookie “nonce” has been rejected because it is already expired. callback
Cookie “_nonce” has been rejected because it is already expired.
Я попытался создать нового арендатора с шаблонной универсальной страницей входа в систему, и это, похоже, сработало
<script>
// Decode utf8 characters properly
var config = JSON.parse(decodeURIComponent(escape(window.atob('@@config@@'))));
config.extraParams = config.extraParams || {};
var connection = config.connection;
var prompt = config.prompt;
var languageDictionary;
var language;
if (config.dict amp;amp; config.dict.signin amp;amp; config.dict.signin.title) {
languageDictionary = { title: config.dict.signin.title };
} else if (typeof config.dict === 'string') {
language = config.dict;
}
var loginHint = config.extraParams.login_hint;
var lock = new Auth0LockPasswordless(config.clientID, config.auth0Domain, {
auth: {
redirectUrl: config.callbackURL,
responseType: (config.internalOptions || {}).response_type ||
(config.callbackOnLocationHash ? 'token' : 'code'),
params: config.internalOptions
},
configurationBaseUrl: config.clientConfigurationBaseUrl,
overrides: {
__tenant: config.auth0Tenant,
__token_issuer: config.authorizationServer.issuer
},
assetsUrl: config.assetsUrl,
allowedConnections: connection ? [connection] : null,
rememberLastLogin: !prompt,
language: language,
languageBaseUrl: config.languageBaseUrl,
languageDictionary: languageDictionary,
theme: {
//logo: 'YOUR LOGO HERE',
//primaryColor: 'green'
},
closable: false
});
lock.show();
</script>
Однако для моей существующей универсальной страницы входа в систему это не так (обрезано):
var params = Object.assign({
domain: config.auth0Domain,
clientID: config.clientID,
redirectUri: config.callbackURL,
scope: 'openid',
audience: audience,
responseType: 'token',
}, config.internalOptions)
var webAuth = new auth0.WebAuth(params)
webAuth.passwordlessVerify(values, function(err, res) {
hide(loader)
if (err) return postError(err)
})
Как я могу убедиться, что параметр состояния отправлен, чтобы nextjs-auth0 мог его забрать?