2016-06-14 144 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 
}