2013-02-14 66 views
6

Tôi phải tìm hiểu cách sử dụng OAuth 2 để sử dụng Deviantart api.Cách sử dụng OAuth 2 - OAuth 2 C# example

tôi có client_id và client_secret phần

Đây là thông tin mà họ cung cấp cho

thiết bị đầu cuối

Thông tin duy nhất bạn cần phải xác nhận với chúng tôi sử dụng OAuth 2.0 là client_idclient_secret giá trị cho ứng dụng của bạn , cũng như điểm cuối được hiển thị bên dưới.

OAuth 2.0 dự thảo 10:

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

OAuth 2.0 dự thảo 15:

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

Placebo gọi

Cuộc gọi API đầu tiên dựa trên OAuth 2.0 xác thực là cuộc gọi giả dược. Rất hữu ích khi kiểm tra xem mã thông báo truy cập vẫn hợp lệ trước khi thực hiện cuộc gọi API thực có thể dài, chẳng hạn như tải tệp lên. Bạn gọi nó với một trong những thiết bị đầu cuối sau (một thẻ truy cập phải được cung cấp):

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

Bạn cần phải sử dụng các thiết bị đầu cuối tương ứng với dự thảo OAuth 2.0, bạn đã có được thẻ của bạn với .

Nó luôn luôn trả về JSON sau: {status: "success"}

Tôi đã tìm kiếm trên web và tìm thấy thư viện tuyệt vời này.

DotNetOpenAuth v4.0.1

http://www.dotnetopenauth.net/

thêm nó như là tài liệu tham khảo nhưng không có ý tưởng phải làm gì tiếp theo. Thậm chí một ví dụ rất nhỏ sẽ thực sự hữu ích về cách sử dụng OAuth 2

using DotNetOpenAuth; 
using DotNetOpenAuth.OAuth2; 

Đây là trang mà deviantart cung cấp cho các thông tin

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

Ok đây những gì tôi có cho đến nay nhưng không làm việc

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

Bạn đã thử xem các mẫu DNOA chưa? http://www.dotnetopenauth.net/ – Mansfield

+0

có nhưng không hoạt động.đã cập nhật câu hỏi – MonsterMMORPG

Trả lời

9

Điều dễ nhất cần làm bây giờ là tải Visual Studio 2013 và tạo Ứng dụng web ASP.NET mới chọn "Tài khoản người dùng cá nhân" làm loại xác thực. Có một triển khai OAuth 2 đang hoạt động ra khỏi hộp trong đó (được định cấu hình tại App_Start \ Startup.Auth.cs) mà bạn có thể cắt ra và sau đó điều chỉnh theo nhu cầu của mình.

+2

Tôi muốn sử dụng ứng dụng khách như wpf nếu có thể – MonsterMMORPG

+8

Ứng dụng MVC sử dụng OAuth1 trái ngược với OAUth2. –

+1

Microsoft.Security.OWIN.OAuth sử dụng OAuth 2: - http://www.nuget.org/packages/Microsoft.Owin.Security.OAuth/ –