يعمل ApiCurio (http ، المنفذ 8080) خلف Nginx (http ، المنفذ 80). يقوم F5 (https) بإعادة توجيه الطلب إلى Nginx. يمكنني ربط https://github.com بنجاح ، ولكن الخطأ " نشر API ".
إصدار KeyCloak: 3.4.3.
يرجى ملاحظة أنني أحصل على نفس الخطأ حتى لو قمت بإزالة F5 و Nginx من الصورة وتعاملت مباشرة مع ApiCurio.
_رسالة الخطأ : -_
تبديل التفاصيل : -
io.apicurio.hub.core.exceptions.ServerError: خطأ غير متوقع في الخادم
على io.apicurio.hub.api.rest.impl.AccountsResource.getOrganizations (AccountsResource.java:241)
في io.apicurio.hub.api.rest.impl.AccountsResource $ Proxy $ _ $$ _ WeldClientProxy.getOrganizations (مصدر غير معروف)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (الطريقة الأصلية)
في sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
في sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
في java.lang.reflect.Method.invoke (Method.java:497)
في org.jboss.resteasy.core.MethodInjectorImpl.invoke (MethodInjectorImpl.java:140)
على org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget (ResourceMethodInvoker.java:509)
في org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter (ResourceMethodInvoker.java:399)
في org.jboss.resteasy.core.ResourceMethodInvoker.lambda $ invokeOnTarget $ 0 (ResourceMethodInvoker.java:363)
في org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter (PreMatchContainerRequestContext.java:358)
في org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget (ResourceMethodInvoker.java:365)
في org.jboss.resteasy.core.ResourceMethodInvoker.invoke (ResourceMethodInvoker.java:337)
في org.jboss.resteasy.core.ResourceMethodInvoker.invoke (ResourceMethodInvoker.java:310)
في org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:443)
في org.jboss.resteasy.core.SynchronousDispatcher.lambda $ استدعاء 4 دولارات (SynchronousDispatcher.java:233)
في org.jboss.resteasy.core.SynchronousDispatcher.lambda $ 0 $ preprocess $ 0 (SynchronousDispatcher.java:139)
في org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter (PreMatchContainerRequestContext.java:358)
في org.jboss.resteasy.core.SynchronousDispatcher.preprocess (SynchronousDispatcher.java:142)
في org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:219)
على org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service (ServletContainerDispatcher.java:227)
على org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:56)
على org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:51)
على javax.servlet.http.HttpServlet.service (HttpServlet.java:791)
على io.undertow.servlet.handlers.ServletHandler.handleRequest (ServletHandler.java:74)
على io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:129)
في io.apicurio.hub.api.security.KeycloakAuthenticationFilter.doFilter (KeycloakAuthenticationFilter.java:72)
على io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61)
على io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131)
في io.apicurio.hub.api.filters.DisableCachingFilter.doFilter (DisableCachingFilter.java:66)
على io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61)
على io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131)
على io.apicurio.hub.api.filters.CorsFilter.doFilter (CorsFilter.java:64)
على io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61)
على io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131)
في io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter (SpanFinishingFilter.java:55)
على io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61)
على io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131)
على io.undertow.servlet.handlers.FilterHandler.handleRequest (FilterHandler.java:84)
على io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest (ServletSecurityRoleHandler.java:62)
على io.undertow.servlet.handlers.ServletChain $ 1.handleRequest (ServletChain.java:68)
على io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest (ServletDispatchingHandler.java:36)
في org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest (SecurityContextAssociationHandler.java:78)
على io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43)
في org.keycloak.adapters.undertow.UndertowAuthenticatedActionsHandler.handleRequest (UndertowAuthenticatedActionsHandler.java:66)
في io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest (SSLInformationAssociationHandler.java:132)
في io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest (ServletAuthenticationCallHandler.java:57)
في io.undertow.server.handlers.DisableCacheHandler.handleRequest (DisableCacheHandler.java:33)
على io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43)
في io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest (AuthenticationConstraintHandler.java:53)
في io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest (AbstractConfidentialityHandler.java:46)
في io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest (ServletConfidentialityConstraintHandler.java:64)
في io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest (ServletSecurityConstraintHandler.java:59)
في io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest (AuthenticationMechanismsHandler.java:60)
في io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest (CachedAuthenticatedSessionHandler.java:77)
على io.undertow.security.handlers.NotificationReceiverHandler.handleRequest (NotificationReceiverHandler.java:50)
في io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest (AbstractSecurityContextAssociationHandler.java:43)
على io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43)
في org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest (JACCContextIdHandler.java:61)
على io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43)
في org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest (GlobalRequestControllerHandler.java:68)
في org.keycloak.adapters.undertow.ServletPreAuthActionsHandler.handleRequest (ServletPreAuthActionsHandler.java:69)
على io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43)
في io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest (ServletInitialHandler.java:292)
في io.undertow.servlet.handlers.ServletInitialHandler.access 100 دولار (ServletInitialHandler.java:81)
على io.undertow.servlet.handlers.ServletInitialHandler 2. call (ServletInitialHandler.java:138)
على io.undertow.servlet.handlers.ServletInitialHandler 2. call (ServletInitialHandler.java:135)
على io.undertow.servlet.core.ServletRequestContextThreadSetupAction $ 1. اتصل (ServletRequestContextThreadSetupAction.java:48)
على io.undertow.servlet.core.ContextClassLoaderSetupAction $ 1. call (ContextClassLoaderSetupAction.java:43)
على org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda $ قم بإنشاء $ 0 (SecurityContextThreadSetupAction.java:105)
على org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ create $ 0 (UndertowDeploymentInfoService.java:1502)
في org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ create $ 0 (UndertowDeploymentInfoService.java:1502)
في org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ create $ 0 (UndertowDeploymentInfoService.java:1502)
على org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ create $ 0 (UndertowDeploymentInfoService.java:1502)
في io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest (ServletInitialHandler.java:272)
في io.undertow.servlet.handlers.ServletInitialHandler.access 000 دولار (ServletInitialHandler.java:81)
في io.undertow.servlet.handlers.ServletInitialHandler 1.handleRequest دولار (ServletInitialHandler.java:104)
على io.undertow.server.Connectors.executeRootHandler (Connectors.java:360)
على io.undertow.server.HttpServerExchange $ 1.run (HttpServerExchange.java:830)
في org.jboss.threads.ContextClassLoaderSavingRunnable.run (ContextClassLoaderSavingRunnable.java:35)
في org.jboss.threads.EnhancedQueueExecutor.safeRun (EnhancedQueueExecutor.java:1985)
في org.jboss.threads.EnhancedQueueExecutor $ ThreadBody.doRunTask (EnhancedQueueExecutor.java:1487)
في org.jboss.threads.EnhancedQueueExecutor $ ThreadBody.run (EnhancedQueueExecutor.java:1378)
في java.lang.Thread.run (Thread.java:745)
ناتج عن: io.apicurio.hub.api.connectors.SourceConnectorException: java.io.IOException: استجابة غير متوقعة من Keycloak: 403 :: ممنوع
في io.apicurio.hub.api.connectors.AbstractSourceConnector.getExternalToken (AbstractSourceConnector.java:102)
في io.apicurio.hub.api.github.GitHubSourceConnector.githubClient (GitHubSourceConnector.java:88)
في io.apicurio.hub.api.github.GitHubSourceConnector.getOrganizations (GitHubSourceConnector.java:313)
في io.apicurio.hub.api.github.GitHubSourceConnector $ Proxy $ _ $$ _ WeldClientProxy.getOrganizations (مصدر غير معروف)
على io.apicurio.hub.api.rest.impl.AccountsResource.getOrganizations (AccountsResource.java:239)
... 83 أكثر
سبب: java.io.IOException: استجابة غير متوقعة من Keycloak: 403 :: ممنوع
في io.apicurio.hub.api.security.KeycloakLinkedAccountsProvider.getLinkedAccountToken (KeycloakLinkedAccountsProvider.java:187)
في io.apicurio.hub.api.security.KeycloakLinkedAccountsProvider $ Proxy $ _ $$ _ WeldClientProxy.getLinkedAccountToken (مصدر غير معروف)
في io.apicurio.hub.api.connectors.AbstractSourceConnector.getExternalToken (AbstractSourceConnector.java:94)
... 87 أكثر
سجل المتصفح
يرجى إعلامي إذا كنت بحاجة إلى أي معلومات إضافية.
جلالة الملك. يحدث هذا الخطأ عندما يحاول Apicurio استدعاء Keycloak REST API لاسترداد رمز الوصول إلى GitHub الذي يديره Keycloak. هذا الرمز مطلوب حتى يتمكن Apicurio من إجراء مكالمات مصدق عليها إلى GitHub نيابة عن المستخدم المصادق عليه.
لا أعرف سبب استجابة Keycloak مع 403. هل هناك أي تتبعات مكدس في سجل خادم Keycloak؟
_GitHub OAuth ap plication: -_
تكوين _GitHub في KeyCloak: -_
_Linking my GitHub account: -_
_نشر API الخاص بي على GitHub المرتبط
_ سجل KeyCloak:
2019-06-25 10: 17: 58،183 WARN [org.keycloak.events] (المهمة الافتراضية 24) النوع = IDENTITY_PROVIDER_RETRIEVE_TOKEN_ERROR ، realmId = داخلي ، clientId = null ، userId = null ، ipAddress = 10.aaa.bbb.ccc ، error = العميل [apicurio-studio] غير مصرح له باسترداد الرموز المميزة من مزود الهوية [github].
2019-06-25 10: 17: 58،184 خطأ [org.keycloak.services.resources.IdentityBrokerService] (المهمة الافتراضية -24) العميل [apicurio-studio] غير مصرح له باسترداد الرموز المميزة من موفر الهوية [github].
هذا على الأرجح لأن عميل apicurio-studio (في Keycloak) يفتقد الدور المطلوب. لا يمكنني الوصول إلى التفاصيل في الوقت الحالي (أنا أسافر) ولكن من الذاكرة هناك دور broker
من نوع ما مطلوب. أوه انتظر - يمكنني الحصول على الإعداد من KC محلي قمت بتثبيته. ها هو:
تحقق من هذا الإعداد في عالم KC الخاص بك.
EricWittmann شكرا جزيلا لك على الرد على
بالنسبة لأولئك الفقراء الذين ينتهي بهم المطاف هنا بسبب الخطأ في سجل keycloak: العميل [apicurio-studio] غير مصرح له باسترداد الرموز المميزة من مزود الهوية [github].
قد يكون دور رمز القراءة مفقودًا في نقطتين:
التعليق الأكثر فائدة
بالنسبة لأولئك الفقراء الذين ينتهي بهم المطاف هنا بسبب الخطأ في سجل keycloak: العميل [apicurio-studio] غير مصرح له باسترداد الرموز المميزة من مزود الهوية [github].
قد يكون دور رمز القراءة مفقودًا في نقطتين: