2016-06-14 174 views
0

OAuth 2.0授權服務器的sample implementation以及每種授權類型的示例工作流程。OAuth 2.0代碼授權流程

IETF對Code Grant Flow有OAuth 2.0規範。 當您在IETF代碼授權流程的圖表中查看「D」&「E」步驟時,它們似乎不會在樣本實施(第一個鏈接)中實施。

示例實現中的步驟D & E在哪裏? 我知道這是一個未準備好生產的示例實現,但我認爲它將遵循OAuth 2.0的規範。

在示例應用程序中,客戶端獲取代碼,但不會將其轉發到OAuth服務器以獲取令牌。 其實它獲得的令牌,包括代碼已經在步驟3

enter image description here

回答

0

好吧,我下載了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 
}