2013-02-14 13 views
6

मुझे यह पता लगाना होगा कि Deviantart api का उपयोग करने के लिए OAuth 2 का उपयोग कैसे करें।OAuth 2 का उपयोग कैसे करें - OAuth 2 C# उदाहरण

मैं client_id और client_secret हिस्सा

यहाँ जानकारी मिल वे दे

Endpoints

केवल जानकारी आप हमें OAuth 2.0 का उपयोग कर के साथ प्रमाणित करने की जरूरत है अपने अनुप्रयोग के लिए client_id और client_secret मान हैं , साथ ही नीचे दिखाए गए एंडपॉइंट।

OAuth 2.0 मसौदा 10:

https://www.deviantart.com/oauth2/draft10/authorize https://www.deviantart.com/oauth2/draft10/token

OAuth 2.0 मसौदा 15:

https://www.deviantart.com/oauth2/draft15/authorize https://www.deviantart.com/oauth2/draft15/token

प्लेसबो कॉल

पहले API कॉल OAuth 2.0 पर भरोसाप्रमाणीकरण प्लेसबो कॉल है। यह जांचने के लिए उपयोगी है कि एक वास्तविक टोकन बनाने से पहले एक एक्सेस टोकन अभी भी मान्य है जो लंबे समय तक फ़ाइल अपलोड की तरह हो सकता है। आप नीचे दिए गए अंतिम बिंदुओं में से एक (पहुंच टोकन प्रदान किया जाना चाहिए) से कॉल करने की:

https://www.deviantart.com/api/draft10/placebo https://www.deviantart.com/api/draft15/placebo

आप endpoint कि OAuth 2.0 मसौदा आप के साथ अपने टोकन प्राप्त कर लिया है से मेल खाती है उपयोग करने की आवश्यकता ।

यह हमेशा निम्नलिखित JSON देता है: {status: "success"}

मैं वेब खोज की है और इस भयानक पुस्तकालय मिल गया है।

DotNetOpenAuth v4.0.1

http://www.dotnetopenauth.net/

यह संदर्भ के रूप में जोड़ा गया है, लेकिन कोई पता नहीं है कि आगे क्या करना है। यहां तक ​​कि एक बहुत छोटा सा उदाहरण कैसे OAuth 2

using DotNetOpenAuth; 
using DotNetOpenAuth.OAuth2; 

यहाँ पेज जहां deviantart जानकारी

http://www.deviantart.com/developers/oauth2

ठीक है यहाँ मैं अब तक मिला है लेकिन काम नहीं कर रहा

देता है का उपयोग करने के बारे में वास्तव में उपयोगी होगा
public static WebServerClient CreateClient() { 
    var desc = GetAuthServerDescription(); 
    var client = new WebServerClient(desc, clientIdentifier: "myid"); 
    client.ClientCredentialApplicator = ClientCredentialApplicator.PostParameter("mysecret"); 
    return client; 
} 

public static AuthorizationServerDescription GetAuthServerDescription() { 
    var authServerDescription = new AuthorizationServerDescription(); 
    authServerDescription.AuthorizationEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/authorize"); 
    authServerDescription.TokenEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/token"); 
    authServerDescription.ProtocolVersion = ProtocolVersion.V20; 
    return authServerDescription; 
} 
+0

क्या आपने डोना नमूने देखने की कोशिश की है? http://www.dotnetopenauth.net/ – Mansfield

+0

हां लेकिन काम नहीं कर रहा है।प्रश्न – MonsterMMORPG

उत्तर

9

अब सबसे आसान काम विजुअल स्टूडियो 2013 प्राप्त होता है और एक नया एएसपी.नेट वेब एप्लिकेशन "व्यक्तिगत उपयोगकर्ता खाते" चुनने के रूप में बनाता है प्रमाणिकता का प्रकार। वहां बॉक्स के बाहर एक ओएथ 2 कार्यान्वयन है (App_Start \ Startup.Auth.cs पर कॉन्फ़िगर किया गया) जिसे आप टुकड़ा कर सकते हैं और फिर अपनी आवश्यकताओं के अनुरूप हो सकते हैं।

+2

अद्यतन किया गया है यदि मैं संभव हो तो wpf जैसे क्लाइंट आधारित – MonsterMMORPG

+8

एमवीसी एप्लिकेशन OAUTH2 के विपरीत OAuth1 का उपयोग करता है। –

+1

माइक्रोसॉफ्ट.Security.OWIN.OAuth OAuth 2 का उपयोग करता है: - http://www.nuget.org/packages/Microsoft.Owin.Security.OAuth/ –