2013-02-14 18 views
6

Deviantart API'yı kullanmak için OAuth 2'yi nasıl kullanacağımı bulmalıyım.OAuth 2 - OAuth 2 C# nasıl kullanılır?

Ben client_id ve client_secret parçasını İşte

bilgi var verdikleri

Endpoints bize OAuth'u 2.0 kullanarak kimlik doğrulaması gereken tek bilgi uygulamanız için client_id ve client_secret değerlerdir

ve aşağıda gösterilen son nokta.

OAuth 2.0 taslak 10:

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

OAuth 2.0 taslak 15: OAuth 2.0 güvenerek

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

Plasebo çağrı

ilk API çağrısıkimlik doğrulaması, plasebo çağrısıdır. Dosya yükleme gibi uzun bir gerçek API çağrısı yapmadan önce bir erişim belirtecinin hala geçerli olduğunu kontrol etmek için kullanışlıdır. Aşağıdaki uç noktalarından biri (bir erişim belirteci sağlanmalıdır) ile diyoruz:

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

Kiminle jetonunuzu elde ettik OAuth 2.0 taslağa tekabül bitiş noktası kullanmak gerekir .

Her zaman aşağıdaki JSON verir: {status: "success"}

Ben web arama ve bu müthiş kütüphaneyi bulduk.

http://www.dotnetopenauth.net/

DotNetOpenAuth sürüm 4.0.1 referans olarak eklendi ama bundan sonra ne hiçbir fikrim yok. Hatta çok küçük bir örnek OAuth Burada 2

using DotNetOpenAuth; 
using DotNetOpenAuth.OAuth2; 

deviantart

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

ı şimdiye kadar ne var burada Tamam ama

çalışmıyor bilgi verir sayfa nasıl kullanılacağı konusunda gerçekten faydalı olacaktır
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

DNOA örneklerine bakmayı denediniz mi? http://www.dotnetopenauth.net/ – Mansfield

+0

evet ama çalışmıyor. – MonsterMMORPG

cevap

9
şimdi yapmak

kolay şeyi Visual Studio 2013 almak gibi "Bireysel Kullanıcı Hesapları" seçerek yeni bir ASP.NET Web uygulaması oluşturmak aşağıdadır Kimlik Doğrulama Türü. Dilimleyebileceğiniz ve ihtiyaçlarınıza göre uyarlayabileceğiniz (App_Start \ Startup.Auth.cs adresinde yapılandırılmış) kutuda çalışan bir OAuth 2 uygulaması var.

+2

sorusunu güncelledim Eğer mümkünse wpf tabanlı istemciyi tercih ederim – MonsterMMORPG

+8

MVC uygulaması OAUth2'nin aksine OAuth1 kullanır. –

+1

Microsoft.Security.OWIN.OAuth, OAuth 2'yi kullanıyor: - http://www.nuget.org/packages/Microsoft.Owin.Security.OAuth/ –