我在设置W3C Web 身份验证 (WebAuthn)时收到以下错误。
We are sorry...
Cannot login, credential setup required.
Run Code Online (Sandbox Code Playgroud)
我在平台上有现有的用户帐户,并将服务器从 升级v7.0.0到v8.0.0. WebAuthn我在登录并从凭据列表中进行选择时收到错误。
这是服务器记录的错误。
00:26:41,982 WARN [org.keycloak.services] (default task-47) KC-SERVICES0013: Failed authentication: org.keycloak.authentication.AuthenticationFlowException: authenticator: webauthn-authenticator
Run Code Online (Sandbox Code Playgroud)
这是我的配置的屏幕截图。
这是错误的完整堆栈跟踪
at org.keycloak.keycloak-services@8.0.0//org.keycloak.authentication.DefaultAuthenticationFlow.processSingleFlowExecutionModel(DefaultAuthenticationFlow.java:448)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:151)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.authentication.AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:958)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:294)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.services.resources.LoginActionsService.processAuthentication(LoginActionsService.java:265)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.services.resources.LoginActionsService.authenticate(LoginActionsService.java:261)
at org.keycloak.keycloak-services@8.0.0//org.keycloak.services.resources.LoginActionsService.authenticateForm(LoginActionsService.java:322)
at jdk.internal.reflect.GeneratedMethodAccessor834.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:138)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:517)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:406)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$0(ResourceMethodInvoker.java:370)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:356)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:372)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:344)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:137)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:100)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440)
at org.jboss.resteasy.resteasy-jaxrs@3.9.0.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229)
at …Run Code Online (Sandbox Code Playgroud) 如何从then()函数中的Promise访问内容,在next then()函数中访问它.
我的问题大致通过以下代码解释.
someRandomPromiseFunction().then(function(theArray) {
var newProm = _.map(theArray, function(arrayItem) {
return new Promise(function(resolve, reject) {
resolve(arrayItem);
});
}
Promise.all(newProm).then(function(theArray) {
return theArray; // How do I access this in the next then() function
}).catch(function(err) {
return err;
});
}).then(function(theArray) {
console.log(theArray); // I need to access theArray from the Promise.all HERE
});
Run Code Online (Sandbox Code Playgroud)