簡體   English   中英

在 Restlet 中向 header 添加身份驗證令牌

[英]Adding an authentication token to header in Restlet

我正在嘗試在 java 中使用 Restlet 進行 API 調用,但是當我運行我的代碼時,我得到一個org.restlet.resource.ResourceException: Unauthorized (401) - 請求需要用戶身份驗證

API 調用的格式對於 shell 如下: curl "<api_url>" \ -H "Authorization: Bearer <api_token_here>"

但是我不確定如何在 Restlet 中添加此授權 header,因為您無法使用.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();

我似乎已經用以下代碼解決了這個問題:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM