2016-06-14 5 views
0

OAuth 2.0 인증 서버의 sample implementation 및 각 승인 유형에 대한 샘플 워크 플로우가 있습니다.OAuth 2.0 코드 부여 흐름

IETF에는 Code Grant Flow에 대한 OAuth 2.0 사양이 있습니다. IETF 코드 허가 흐름 차트에서 "D"& "E"단계를 살펴보면 샘플 구현 (첫 번째 링크)에서 구현되지 않은 것처럼 보입니다.

샘플 구현에서 단계 D &는 어디에 있습니까? 프로덕션 준비가되지 않은 샘플 구현임을 알고 있지만 OAuth 2.0의 스펙을 따르는 것으로 가정했습니다.

샘플 응용 프로그램에서 클라이언트는 코드를 가져 오지만 OAuth 서버로 토큰을 전달하지 않습니다. 실제로는 토큰

enter image description here

답변

0

좋아 3 단계에서 이미 코드를 포함 얻을, 나는 Microsoft.Owin 소스를 다운로드하고 코드를 디버깅.

DotnetOAuth 클라이언트 라이브러리는 토큰 요청을 보닛에서 보냅니다. Fiddler를 사용할 때 WebRequest 객체를 사용하므로 Fidddler ootb가 캡처하지 않기 때문에 볼 수 없었습니다!

토큰 요청은 코드 토큰을 포함하고 또한

그것은이

ReceiveAuthenticationToken 이벤트 핸들러에 확인됩니다 확인됩니다.

코드 토큰은 여기에 생성됩니다

private void CreateAuthenticationToken(AuthenticationTokenCreateContext ctx) 
{ 
    var code = Guid.NewGuid().ToString("n") + Guid.NewGuid().ToString("n"); 
    ctx.SetToken(code); 
    _authenticationCodes[ctx.Token] = ctx.SerializeTicket(); <-- stored in a concurrentDictionary as the key for the auth ticket, for demonstration purposes only 
// delete the entry, must only be used once 
}