URL 请求中的授权持有人使用 WSO2 API 管理器
Authorization Bearer in URL Request using WSO2 API Manager
有没有办法将授权持有者放入 URL 请求中?访问我的 API 的 curl 命令是这样的:
curl -X GET --header 'Accept: application/xml' --header 'Authorization: Bearer ebcd41ac-3466-3262-8c8e-3c73c987dbde' 'https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM'
但是如果我在浏览器中使用 https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM 请求 URL,我会收到此错误消息:
Code = 900902
Message: Missing credentials
Description: Required OAuth credentials not provided. Make sure your API invocation call has a header: "Authorization: Bearer ACCESS_TOKEN"
我希望你能帮我解决这个问题,因为我只想通过浏览器访问我的 API,而不是通过 curl 命令。谢谢。
API 管理器使用 org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler
使用 OAuth 身份验证令牌对对网关的请求进行身份验证。要更改此行为,您有三个选择:
- 从网关上的 API 定义中删除身份验证处理程序(或从速度模板中删除,以应用于所有 API 发布)。
- 创建您自己的身份验证处理程序并替换 API 定义 and/or 速度模板中的默认身份验证处理程序。参见:https://docs.wso2.com/display/AM200/Writing+Custom+Handlers
- 创建一个新的处理程序,它采用授权查询字符串参数并将值添加到传入请求的 headers。在您的 API.
的处理程序工作流程中的身份验证处理程序 之前添加此处理程序
话虽这么说,你为什么要这样做?有许多可用的 GUI 可以像使用浏览器一样发送 HTTP 请求 straight-forward (https://www.getpostman.com/),所以除非你有很好的理由改变这种行为,否则你可能不应该。
如果您不需要使用访问令牌保护您的 api 并使其在未经授权的情况下访问,您可以将 "None" 指定为获取 api 资源的授权在 api 发布者的 "Manage" 选项卡中创建或更新 API。
有没有办法将授权持有者放入 URL 请求中?访问我的 API 的 curl 命令是这样的:
curl -X GET --header 'Accept: application/xml' --header 'Authorization: Bearer ebcd41ac-3466-3262-8c8e-3c73c987dbde' 'https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM'
但是如果我在浏览器中使用 https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM 请求 URL,我会收到此错误消息:
Code = 900902
Message: Missing credentials
Description: Required OAuth credentials not provided. Make sure your API invocation call has a header: "Authorization: Bearer ACCESS_TOKEN"
我希望你能帮我解决这个问题,因为我只想通过浏览器访问我的 API,而不是通过 curl 命令。谢谢。
API 管理器使用 org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler
使用 OAuth 身份验证令牌对对网关的请求进行身份验证。要更改此行为,您有三个选择:
- 从网关上的 API 定义中删除身份验证处理程序(或从速度模板中删除,以应用于所有 API 发布)。
- 创建您自己的身份验证处理程序并替换 API 定义 and/or 速度模板中的默认身份验证处理程序。参见:https://docs.wso2.com/display/AM200/Writing+Custom+Handlers
- 创建一个新的处理程序,它采用授权查询字符串参数并将值添加到传入请求的 headers。在您的 API. 的处理程序工作流程中的身份验证处理程序 之前添加此处理程序
话虽这么说,你为什么要这样做?有许多可用的 GUI 可以像使用浏览器一样发送 HTTP 请求 straight-forward (https://www.getpostman.com/),所以除非你有很好的理由改变这种行为,否则你可能不应该。
如果您不需要使用访问令牌保护您的 api 并使其在未经授权的情况下访问,您可以将 "None" 指定为获取 api 资源的授权在 api 发布者的 "Manage" 选项卡中创建或更新 API。