【问题标题】:Consume API hosted on WSO2 Api Manager 3.1.0 using Postman使用 Postman 使用托管在 WSO2 Api Manager 3.1.0 上的 API
【发布时间】:2020-05-16 03:27:27
【问题描述】:

我是 WSO2 API Manager 的新用户。我刚刚在 2 天前安装了它,并在上面托管了一个简单的 API。它适用于内部工具。但是如何从外面消费呢?例如来自 Postman 或 Java 代码?我们可以在没有任何身份验证的情况下使 API 可访问吗?如果我只想要喷气式身份验证,我该怎么做。请指导。提前致谢。

根据建议,使用 Curl 命令调用 API 并获取令牌,然后在调用 即使提供访问令牌(我在客户端 ID 和客户端密码之后得到)也会出错

通过授权时出现以下错误:Bearer 2ee039b0-5cd4-3f31-844c-dd9441593f88​

 <ams:fault xmlns:ams="http://wso2.org/apimanager/security">
    <ams:code>900908</ams:code>
    <ams:message>Resource forbidden </ams:message>
    <ams:description>Access failure for API: /getcustrates/1.0, version: 1.0 status: (900908) - Resource forbidden </ams:description>
</ams:fault>

通过授权时出现以下错误:Basic 2ee039b0-5cd4-3f31-844c-dd9441593f88​

<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
    <ams:code>900902</ams:code>
    <ams:message>Missing Credentials</ams:message>
    <ams:description>Invalid Credentials. Make sure your API invocation call has a header: 'Authorization : Bearer ACCESS_TOKEN' or 'Authorization : Basic ACCESS_TOKEN' or 'apikey: API_KEY'</ams:description>
</ams:fault>

【问题讨论】:

    标签: api wso2 jwt


    【解决方案1】:

    如果您不熟悉该产品,请按照快速入门指南 [1] 操作。最后,当您使用集成的 Try-it 工具调用 API 时。当您使用它调用 API 时,它还会为您提供等效的 curl 命令。您可以使用它在外部调用 API。

    我假设 Jet 你的意思是说 JWT。您可以使用从在开发人员门户创建的应用程序中获得的客户端密钥/密钥对生成 JWT。您可以使用此命令生成更多令牌。

    curl -k -H "Authorization: Basic EncodeToBase64(<consumer-key>:<consumer-secret>)" -d "grant_type=password&username=<username>&password=<password>" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
    

    curl -k -u <consumer-key>:<consumer-secret> -d "grant_type=password&username=<username>&password=<password>" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
    

    [1]https://apim.docs.wso2.com/en/latest/getting-started/quick-start-guide/

    【讨论】:

    • 如果我在详细模式下运行 curl 命令以获取 WSO2 中的访问令牌,则不会返回任何输出。 curl -k -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json localhost:9443/client-registration/v1/register payload.json 的内容是:{ "callbackUrl":"www .google.lk", "clientName":"rest_api_publisher", "owner":"admin", "grantType":"password refresh_token", "saasApp":true }
    • 以下是日志详细信息: * 即将 connect() 到 localhost 端口 9443 (#0) * 正在尝试 127.0.0.1... 已连接 * 已连接到 localhost (127.0.0.1) 端口 9443 (# 0) * SSLv3、TLS 握手、客户端问候 (1):* SSLv3、TLS 握手、服务器问候 (2):* SSLv3、TLS 握手、CERT (11):* SSLv3、TLS 握手、服务器密钥交换 (12): * SSLv3,TLS 握手,服务器完成 (14):* SSLv3,TLS 握手,客户端密钥交换 (16):* SSLv3,TLS 更改密码,客户端问候 (1):* SSLv3,TLS 握手,完成 (20):* SSLv3,TLS更改密码,客户端问候(1):
    • * SSLv3,TLS 握手,完成 (20):* 使用 DHE-RSA-AES256-SHA 的 SSL 连接 * 服务器证书:* 主题:C=US,ST=CA,L=Mountain View, O=WSO2, OU=WSO2, CN=localhost * 开始日期:2019-10-23 07:30:43 GMT * 到期日期:2022-01-25 07:30:43 GMT * subjectAltName:本地主机匹配 * 发行人:C =US, ST=CA, L=Mountain View, O=WSO2, OU=WSO2, CN=localhost * SSL 证书验证结果:无法获取本地颁发者证书 (20),仍然继续。 > POST /client-registration/v1/register HTTP/1.1
    • > 用户代理:curl/7.19.5 (i386-pc-win32) libcurl/7.19.5 OpenSSL/0.9.8k zlib/1.2.3 > 主机:localhost:9443 > 接受:/ > 授权:基本 YWRtaW46YWRtaW4= > Content-Type: application/json > Content-Length: 148 > localhost:9443/carbon/admin/login.jsp
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多