मैं अपने ktor ऐप में JWT प्रमाणीकरण सेट करने का प्रयास कर रहा हूं। दस्तावेज़ीकरण नीचे की तरह application.conf फ़ाइल में jwt सत्यापनकर्ता को परिभाषित करने का सुझाव देता है:

jwt {
    domain = "https://jwt-provider-domain/"
    audience = "jwt-audience"
    realm = "ktor sample app"
}

मैं jwt प्रमाणीकरण का विशेषज्ञ नहीं हूं, इसलिए मैं सोच रहा था कि domain, audience और realm सेटिंग्स का क्या अर्थ है, दुर्भाग्य से प्रलेखन में इन विवरणों का अभाव है।

1
Nicola Gallazzi 11 पद 2020, 16:50

2 जवाब

सबसे बढ़िया उत्तर

जेनरेट किए गए jwt टोकन पर एक नज़र डालने से यह पता चलता है कि:

decoded jwt token

  • दर्शक का समाधान RFC 7519 में होता है "ऑड" दावा:

"ऑडियंस" (दर्शक) दावा उन प्राप्तकर्ताओं की पहचान करता है जिनके लिए JWT का इरादा है।

आम तौर पर यह केस-संवेदी तारों की एक सरणी है, जिसमें क्लाइंट पहचानकर्ता होते हैं। उदाहरण के लिए यह ऐप (ऐप्स) पैकेज का नाम हो सकता है, जैसे कुछ:

ios.organization.appname, android.organization.appname
  • डोमेन RFC 7519 में हल करता है " is" दावा:

"आईएसएस" (जारीकर्ता) दावा उस प्रिंसिपल की पहचान करता है जिसने जेडब्ल्यूटी जारी किया था।

यह एप्लिकेशन विशिष्ट है, मेरे मामले में मैंने अपने प्रमाणीकरण सर्वर (एकल साइन ऑन) के पहचानकर्ता को चुना है, जैसे कुछ:

sso.organization.com
  • क्षेत्र मेरे जेनरेट किए गए jwt टोकन में इस फ़ील्ड का कोई निशान नहीं है, लेकिन ktor दस्तावेज़ीकरण ऐसा लगता है कि इस फ़ील्ड का उपयोग WWW-Authenticate प्रतिक्रिया शीर्षलेख में किया गया है
1
Nicola Gallazzi 26 पद 2020, 21:43

जहां तक ​​मुझे पता है, दस्तावेज़ीकरण डोमेन को जारीकर्ता (आईएसएस) दावे के रूप में और दर्शकों को ऑड दावे के रूप में संदर्भित करता है (https://tools.ietf.org/html/rfc7519#section-4.1)। अन्य सेटिंग्स आवश्यक नहीं हो सकती हैं।

1
Kayn 12 पद 2020, 18:00