jose4j-ის დისტანციური გასაღებების ნაკრების ჩამტვირთავს აქვს საკუთარი HTTP მიღების ობიექტი. დააკონფიგურირეთ ეს ობიექტი, როდესაც აპლიკაციას შეუძლია API-ის გამოძახება, მაგრამ ვერ ჩამოტვირთავს გამომცემლის JSON Web Keys-ს.

jose4j 0.9.6-ის API გვთავაზობს Get.setHttpProxy-ს და HttpsJwks.setSimpleHttpGet-ს:

org.jose4j.http.Get downloader = new org.jose4j.http.Get();
downloader.setHttpProxy(new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example", 8080)));
downloader.setConnectTimeout(5000);
downloader.setReadTimeout(15000);

org.jose4j.jwk.HttpsJwks jwks = new org.jose4j.jwk.HttpsJwks(
    "https://issuer.example/keys");
jwks.setSimpleHttpGet(downloader);

გამოიყენეთ ეს კონფიგურირებული jwks ობიექტი აპლიკაციის გასაღებების ამოხსნის სქემაში. მისი შექმნა არსებული გადამწყვეტის გვერდით არ ცვლის ამ გადამწყვეტის სხვა ინსტანციას.

Get იყენებს URL-ს და HttpsURLConnection-ს. ცხადი Proxy გადაეცემა URL.openConnection(Proxy)-ს; ეს ზღუდავს მარშრუტს ამ ჩამტვირთავით, ნაცვლად მთელი JVM-ისთვის ახალი პროქსი პოლიტიკის მოთხოვნისა. პროქსის ავთენტიფიკაცია, საჭიროების შემთხვევაში, დამატებითი ტრანსპორტის საკითხია. დამტკიცებულ, საჯაროდ ხელმისაწვდომ გამომცემლის URL-ს შეუძლია გამოიყენოს HTTP მისამართი HTTP პროქსების სიიდან, როდესაც საჯარო შუამავლები დაშვებულია და პროქსის ანგარიში არ არის კონფიგურირებული.

HttpsJwks ინახავს გასაღებებს ქეშში თითოეული ინსტანციისთვის, ქეშის სათაურებისა და ნაგულისხმევი ქეშის ხანგრძლივობის პარამეტრის მიხედვით. შეინარჩუნეთ ინსტანცია ამ უპირატესობის მისაღებად. უკვე ქეშირებული გასაღები შეიძლება საშუალებას აძლევდეს ვალიდაციას გაგრძელდეს ქსელის გამოყენების გარეშე, ხოლო შემდგომი მიღება ან განახლება კვლავ კონფიგურირებულ მარშრუტზეა დამოკიდებული.

ეს აკონფიგურირებს გასაღებების მიღებას. ტოკენის ვალიდაციას კვლავ სჭირდება აპლიკაციის ჩვეულებრივი ხელმოწერის, გამომცემლის, აუდიტორიისა და სხვა შემოწმების პოლიტიკა; მხოლოდ JSON გასაღებების ნაკრების მიღება ამ შემოწმებებს არ ასრულებს.

დაკავშირებული სტატიები