下午好
我正在做一个有两个应用程序的项目,第一个是一个php应用程序,它为我提供了一个API。第二个是我正在开发的应用程序(Java8base,no Spring)。我的问题是:我可以使用HttpURLConnection对象使用承载令牌授权吗?
我仍在努力实现这一点,但它似乎使“Authorization”的值为空。
//responseLogin is the token that the php app provides.
String token = "Bearer " + responseLogin.toString();
HttpURLConnection httpApi = (HttpURLConnection) apiUrl.openConnection();
httpApi = (HttpURLConnection) apiUrl.openConnection();
httpApi.setRequestMethod("GET");
httpApi.setDoOutput(true);
httpApi.setRequestProperty("Content-Type", "application/json");
httpApi.setRequestProperty("Accept", "*/*");
httpApi.setRequestProperty("Authorization", token);
httpApi.setRequestProperty("Connection", "keep-alive");
httpApi.setRequestProperty("Accept-Encoding", "gzip, deflate, br");
LOG.info("Token : " + httpApi.getRequestProperty("Authorization"));
LOG.info("Accept : " + httpApi.getRequestProperty("Accept"));
HttpApi.get请求属性(授权));这部分给我一个空响应,我不知道为什么。
我希望任何人都可以帮助我,请随时问我,如果你需要更多关于我的代码的信息。
谢谢:)
HttpURLConnection中有一个名为EXCLUDE_HEADERS
的常量字符串数组,其注释如下:
// the following http request headers should NOT have their values
// returned for security reasons.
private static final String[] EXCLUDE_HEADERS = {
"Proxy-Authorization",
"Authorization"
};
其目的可能是为了避免意外转储这些标头,例如在记录请求时。
笔记这并不意味着它们没有被设置,只是当你查询它们时它们没有被返回。为了测试实际值,可以使用WireMock(或任何定制服务器)之类的工具来检查实际发送的内容。
我可以使用类似的代码和承载令牌进行GET,但似乎无法完成POST。 当我将Json、URL和承载令牌复制/粘贴到Postman中时,效果非常好。但从C#执行此操作时,会出现以下错误: “状态代码:400,原因短语:'错误请求',版本:1.1,内容:System.Net.Http.StreamContent,标题:{传输编码:分块连接:保持活动预期CT:最大年龄=604800,报告uri=”http
我在用阿斯匹林。网络应用程序 我很困惑。我已经使用JSON网络令牌。我明白这一点。已知经典的 JSON 网络令牌。标头、有效负载、签名、自包含。客户端可以查看索赔数据。 但是不记名令牌是什么呢?不记名令牌也是独立的。我们可以通过不记名令牌访问令牌的数据。客户端看不到索赔数据。 那我们为什么不使用不记名令牌呢?不记名代币不是标准吗?有没有像 JWT 持有者令牌这样的东西? 以及如何在 MVC Web
我在调用rest api时尝试使用承载令牌时遇到一些问题。 我尝试了两种方法,结果相同: 我在azure门户中创建了一个应用注册,并授予它使用devops api进行用户模拟的权限。 我在中创建了一个应用程序https://app.vsaex.visualstudio.com/并授予it项目/团队管理权限。 对于我的代码,我使用了这个(当我使用PAT进行身份验证时有效) 我使用以下示例获取令牌:h
我正在使用改型2.0在Android上构建一个Bitbucket REST客户端。 就我而言,OAuth2.0提供了“隐式授权”,当用户在提示下登录到他们的帐户时,它立即向客户机提供访问承载令牌。 承载令牌是可用于访问受保护资源的令牌。任何拥有承载令牌的人与其他拥有承载令牌的人一样,都有权访问受保护的资源。(根据IETF的这份文件) 如果我错了,请纠正我,但我认为使用隐式授权,在用户登录到他们的B
如何使用Live PayPal ClientID和密钥从PayPal https://api-M.PayPal.com/v1/oauth2/Token API调用中获得访问/承载令牌。 我在调用Postman中的API之前使用了下面的设置 基本Auth类型。主体tab=x-www-form-urlencoded。grant_type=client_credentials 我得到以下响应时调用以上A
我已经创建了许多生成/使用JSON数据的Web服务,并使用OAuth2和承载令牌对它们进行了保护,效果很好。 然而,现在我需要构建一个类似的Web服务来生成图像而不是JSON(即JPEG/PNG数据)。为了保持一致性,我也想用OAuth2/承载令牌来保护服务,但是这样做会使服务在基于浏览器的应用程序中更具挑战性,这些应用程序希望使用 我认为有两种方法可以解决这个问题: > 修改OAuth2基础设施