web-dev-qa-db-ja.com

OkHttpでベアラー認証ヘッダーを作成java

HTTPクライアントとしてOkHttp in Javaを使用し、リクエストでAuthorizationヘッダーを送信する必要があります。

例:

認証:ベアラeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRaswczovL2F1dGgucGF4aW11bS5djb20iLCJhdWQiOiJodHRwczovL2FwaS5wYXhpbXVtLmNvbSIsIm5iZiI6MTQ0ODQzNzkyMCwiZXhwIjoxNDQ4NDgxMTIwLCJzdWIiOiIzNzExZDk1YS03MWU1LTRjM2ItOWQ1YS03ZmY3MGI0NDgwYWMiLCJyb2xlIjoicGF4OmIyYjphcHA6dXNlciJ9.YR8Gs7RVM-q5AxtHpeOl2zYe-zKxh5u39TUeTbiZL1k

ユーザー名とパスワードを使用してこのトークンを作成するにはどうすればよいですか?ユーザー名:テストパスワード:テスト

ドキュメントによると ここ

  private final OkHttpClient client = new OkHttpClient();
  private final String url = "http://test.com";

  public void run(String token) throws Exception {
    Request request = new Request.Builder()
    .url(url)
    //This adds the token to the header.
    .addHeader("Authorization", "Bearer " + token)
    .build();
     try (Response response = client.newCall(request).execute()) {
          if (!response.isSuccessful()){
             throw new IOException("Unexpected code " + response);
          }

         System.out.println("Server: " + response.header("anykey"));

     }
  }
8

上記の答えは正しいパスにつながりますが、いくつかの変更が必要です。

private  Response requestBuilderWithBearerToken(String userToken) throws IOException {
           OkHttpClient client = new OkHttpClient();
           Request request = new Request.Builder()
                   .url(YourURL)
                   .get()
                   .addHeader("cache-control", "no-cache")
                   .addHeader("Authorization" , "Bearer " + userToken)
                   .build();

           return  client.newCall(request).execute();
7
user1154390

Android Okhttpバージョン

 
 public Call post(String url、String json、Callback callback、String token){
 OkHttpClient client = new OkHttpClient(); 
 
 RequestBody body = RequestBody.create(JSON、json); 
リクエストリクエスト=新しいRequest.Builder()
 .url(url)
 .addHeader( "Authorization"、 "Bearer "+ token)
 .post(body)
 .build(); 
 Call call = client.newCall(request); 
 call.enqueue(callback) ; 
折り返し電話; 
} 
 


bearerキーワードの後に​​スペースを置くことを忘れないでください。

0
AFTAB SHEIKH