2012-06-12 4 views
6

oauth 2.0 인증을 만드는 방법에 대한 정보를 찾을 수있는 기사 또는 포럼 스레드를 찾고 있습니다. 특히 MVC 3 응용 프로그램과 WCF Restfull API가 있습니다. oauth 2.0 프로토콜 인증을 사용하여 웹 앱에서 API 메소드를 호출해야합니다. 그러나 그것에 관한 어떤 정보도 찾을 수 없었습니다. 인터넷 검색 후 나는 페이스 북, linkedin, 구글 등을위한 클라이언트를 개발하는 방법에 대해서만 결과를 볼 수 있습니다. 어떤 도움이 도움이 될 것입니다. 고맙습니다.OAUTH 2.0을 사용하여 WCF Resfull 메서드를 호출하십시오.

답변

1

DotNetOpenAuth을 살펴볼 수 있습니다. 그것은 쉽게 설치할 수있는 클라이언트 라이브러리가 NuGet here에서 있습니다. DotNetOpenAuth을 사용하면 모든 OAuth 배관이 배후에서 처리됩니다.

DotNetOpenAuth : 당신이 NuGet 패키지를 설치하면

가 : https://www.nuget.org/packages/DotNetOpenAuth.Ultimate/4.3.3.13295

당신은 설정이 같은 OAuth 클라이언트가 할 수

var authorizationServerDescription = new AuthorizationServerDescription 
{ 
    ProtocolVersion = ProtocolVersion.V20, 
    TokenEndpoint = new Uri("https://yourUrl/token"), 
    AuthorizationEndpoint = new Uri("https://yourUrl/authorize") 
}; 

var client = new WebServerClient(authorizationServerDescription, "ClientIdentifier", "ClientSecret"); 

그런 다음이 같은 IAuthorizationState을 요청할 수 있습니다

// Resource Owner Password Flow 
client.ExchangeUserCredentialForToken("userName", "password"); 

// Client Credential Flow 
client.GetClientAccessToken(); 

IAuthorizationState에는 API에 대해 인증하는 데 사용할 수있는 AccessToken이 포함되어 있습니다. RefreshToken가 제공되는 경우 당신은 또한 사용 권한 부여를 새로 고칠 수 있습니다 :

client.RefreshAuthorization(AuthorizationState); 

ThinkTecture :

또는 당신 Thinktecture.IdentityModel를 사용할 수 있습니다. Thinktectures IdentityModel을 사용하기로 결정했다면이 게시물을 확인하십시오 : Introducing OAuth2 Code Flow and Refresh Token Support in Thinktecture IdentityServer. Thinktecture를 사용하여 OAuth Token Server를 설정하는 방법뿐 아니라 코드 샘플을 포함하여 클라이언트를 사용하는 방법을 설명합니다. 물론 매개 변수가 OAuth 사양에 따라 구현되는 한이 클라이언트를 사용하여 다른 OAuth 2.0 서버에 대해 유효성을 검사 할 수 있습니다.

의 OAuth 2.0 놀이터 당신의 OAuth 2.0 흐름에서 더 나은 모습을 가지고 싶다면, 구글의 OAuth 2.0 Playground을 확인하십시오. 나는 많은 사람들이 자신의 서버를 테스트 할 수 있다는 것을 모르고 있다고 생각한다. 그냥 오른쪽 상단에있는 '설정'아이콘을 누르고 설정 :

의 OAuth 엔드 포인트 : 사용자 정의

을 그리고 당신은 갈 수 있어요.

관련 문제