6

मैं जानना चाहता हूं, OAuth2 में उपयोग किए जाने वाले बेयरर टोकन को एन्क्रिप्ट और डिक्रिप्ट करने के लिए आंतरिक प्रक्रिया क्या है और Asp.Net पहचान में कोड।कैसे बेयरर टोकन (OAuth2) बनाए जाते हैं?

सर्वर को टोकन प्राप्त करने के बाद, यह उपयोगकर्ता आईडी, भूमिकाएं, दावों और इसके अंदर की सभी संपत्तियों को पुनर्प्राप्त करने में सक्षम है। तो, बेयरर टोकन कैसे डिक्रिप्ट किए गए हैं? एन्क्रिप्शन एल्गोरिदम और कोड का उपयोग क्या होता है?

+2

मेरे ब्लॉग पोस्ट की जांच करें जहां मैं वर्णन करता हूं कि कैसे टोकन पैदा करने वाले टोकन फीता, यह क्या निर्भर करता है, और क्या हो रहा है जब संरक्षित संसाधन टोकन प्राप्त करता है। http://bitoftech.net/2014/09/24/decouple-owin- प्राधिकरण- सर्वर- संसाधन- सर्वर-oauth-2-0-web-api/ –

+0

@TaiseerJoudeh मेरे प्रश्न पर टिप्पणी के लिए बहुत बहुत धन्यवाद। मैंने आपकी पोस्ट पढ़ी है (और जो कुछ आप अपने ब्लॉग पर लिखते हैं), लेकिन मुझे बेयरर टोकन एन्क्रिप्शन की प्रक्रिया में रूचि है। एन्क्रिप्शन एल्गोरिदम का उपयोग किया जाता है और इसकी प्रक्रिया क्या होती है। दूसरे शब्दों में, Asp.Net पहचान आंतरिक रूप से इस प्रक्रिया को कैसे कर रही है। –

उत्तर

1

आप टोकन कहां से प्राप्त कर रहे हैं? टोकन शायद ही कभी एन्क्रिप्टेड होते हैं (कभी-कभी वे होते हैं), लेकिन वे हमेशा एन्कोड किए जाएंगे (और हस्ताक्षरित)। ओपनआईडी (ओएथ 2 के शीर्ष पर एक प्रोटोकॉल) जेडब्ल्यूटी का उपयोग करता है। OAuth2 (ओपनआईडी नहीं) "अपारदर्शी" टोकन का उपयोग करता है।

जेडब्ल्यूटी को डीकोड करने पर पुस्तकालयों के लिए http://jwt.io देखें।

-3

यहां एक छोटा सा जवाब है, मेरे पास समय है। OAuthBearerTokenOptions में टोकन बनाने के लिए आवश्यक कोड शामिल है। यह आपके ओविन स्टार्टअप में कॉन्फ़िगर किया जाना चाहिए।

app.UseOAuthBearerAuthentication(OAuthBearerOptions); 

यह देखते हुए कि ...

var ticket = new AuthenticationTicket(identity, new AuthenticationProperties()); 
var currentUtc = new SystemClock().UtcNow; 
ticket.Properties.IssuedUtc = currentUtc; 
ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(expirationMinutes)); 
string accessToken = oAuthBearerAuthenticationOptions.AccessTokenFormat.Protect(ticket); 
0

यहाँ एक छोटे से विंडोज फॉर्म्स tool कि OAuth 2.0 बियरर टोकन MachineKeyDataProtector का उपयोग कर decrypts है।

तो यदि आपका ऐप आईआईएस में होस्ट किया गया है, तो आप उपर्युक्त टूल का उपयोग कर सकते हैं।

OAuth 2.0 Bearertoken हो जाता है:

  1. द्विपदीय प्रारूप में धारावाहिक

  2. MachineKey एन्क्रिप्टेड (जब अनुप्रयोग स्वयं के द्वारा होस्ट है DPAPI, प्रयोग किया जाता है आदि)

  3. Base64 इनकोडिंग

+0

यह टूल केवल एक रीडेमे और लाइसेंस –

+0

हां वास्तव में, आपको यहां जाना होगा: [लिंक] (https://github.com/Legends/BearerTokenDeserializer/tree/Initial) – Legends

+0

एचएम, ठीक है ... यह सहायक हो सकता है यह निर्दिष्ट करने के लिए कि आपके पास "प्रारंभिक" नामक शाखा है। मुझे लगता है कि एक खाली मास्टर शाखा एक परियोजना का प्रतिनिधित्व करती है जिसे अभी तक शुरू नहीं किया गया है। –

संबंधित मुद्दे