【问题标题】:Adding an authentication token to header in Restlet将身份验证令牌添加到 Restlet 中的标头
【发布时间】:2020-10-24 08:47:44
【问题描述】:

我正在尝试在 java 中使用 Restlet 进行 API 调用,但是当我运行我的代码时,我得到一个 org.restlet.resource.ResourceException: Unauthorized (401) - 该请求需要用户身份验证

API调用的格式如下:curl "<api_url>" \ -H "Authorization: Bearer <api_token_here>"

但是我不确定如何在 Restlet 中添加此授权标头,因为您无法使用 .getRequest().getHeaders().add(); 添加标头

此外,我尝试设置质询响应,但这似乎也不起作用。

        API = new ClientResource(RequestURL);
        API.setProtocol(Protocol.HTTPS);

        ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.CUSTOM);
        AuthHeader.setRawValue("Authorization: Bearer " + APIKey);

        API.getRequest().setChallengeResponse(AuthHeader);

        API.get();

【问题讨论】:

    标签: java api restlet


    【解决方案1】:

    我似乎已经用以下代码解决了这个问题:

        ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.HTTP_OAUTH_BEARER); 
        AuthHeader.setRawValue(APIKey);
        AuthHeader.setIdentifier("Bearer");
        API.setChallengeResponse(AuthHeader);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2018-12-29
      • 2018-11-29
      • 2016-02-28
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      相关资源
      最近更新 更多