WSO2身份服务器作为密钥管理器5.3.0与AM 2.1.0

时间:2018-03-27 09:55:23

标签: wso2

我已根据文档将wso2 IDM配置为密钥管理器,但收到以下错误:

当我尝试访问API时,在API管理器控制台上获得以下响应。

<ams:fault xmlns:ams="http://wso2.org/apimanager/security"> <ams:code>900900</ams:code> <ams:message>Unclassified Authentication Failure</ams:message> <ams:description>Error while accessing backend services for API key validation</ams:description> </ams:fault>

`                  https://localhost:9444/services/

    <!-- Admin username for API key manager. -->
    <Username>admin</Username>
    <!-- Admin password for API key manager. -->
    <Password>admin</Password>

    <!-- Configurations related to enable thrift support for key-management related communication.
         If you want to switch back to Web Service Client, change the value of "KeyValidatorClientType" to "WSClient".
         In a distributed environment;
         -If you are at the Gateway node, you need to point "ThriftClientPort" value to the "ThriftServerPort" value given at KeyManager node.
         -If you need to start two API Manager instances in the same machine, you need to give different ports to "ThriftServerPort" value in two nodes.
         -ThriftServerHost - Allows to configure a hostname for the thrift server. It uses the carbon hostname by default.
         -The Gateway uses this parameter to connect to the key validation thrift service. -->
    <KeyValidatorClientType>WSClient</KeyValidatorClientType>
    <ThriftClientConnectionTimeOut>10000</ThriftClientConnectionTimeOut>
    <!--ThriftClientPort>10397</ThriftClientPort-->

    <EnableThriftServer>false</EnableThriftServer>
    <ThriftServerHost>localhost</ThriftServerHost>
    <!--ThriftServerPort>10397</ThriftServerPort-->

    <!--ConnectionPool>
        <MaxIdle>100</MaxIdle>
        <InitIdleCapacity>50</InitIdleCapacity>
    </ConnectionPool-->
    <!-- Specifies the implementation to be used for KeyValidationHandler. Steps for validating a token can be controlled by plugging in a 
         custom KeyValidation Handler -->
    <KeyValidationHandlerClassName>org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler</KeyValidationHandlerClassName>
</APIKeyValidator>

`

[2018-03-27 15:05:42,384] DEBUG - API身份验证失败,错误900900 {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException:访问用于API密钥验证的后端服务时出错     at org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:77)     在org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getAllURITemplates(APIKeyValidator.java:670)     在org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.doGetAPIInfo(APIKeyValidator.java:522)     在org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.findMatchingVerb(APIKeyValidator.java:494)     在org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getResourceAuthenticationScheme(APIKeyValidator.java:286)     在org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.authenticate(OAuthAuthenticator.java:119)     在org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest(APIAuthenticationHandler.java:117)     在org.apache.synapse.rest.API.process(API.java:325)     在org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:90)     在org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)     在org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)     at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78)     在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)     at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325)     在org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158)     在org.apache.axis2.transport.base.threads.NativeWorkerPool $ 1.run(NativeWorkerPool.java:172)     在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)     在java.lang.Thread.run(Thread.java:745) 引起:org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException:访问用于API密钥验证的后端服务时出错     在org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:171)     在org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:75)     ......还有18个 引起:java.lang.NullPointerException     在org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:165)     ......还有19个

0 个答案:

没有答案