每个授权类型都有sample implementation OAuth 2.0授权服务器和示例工作流程。
IETF为Code Grant Flow提供了OAuth 2.0规范。 当你看看步骤" D" &安培; " E"在IETF代码授权流程图中,它们似乎不会在示例实现(第一个链接)中实现。
步骤D& E在示例实现中? 我知道这是一个非生产就绪的示例实现,但我认为它将遵循OAuth 2.0的规范。
在示例应用程序中,客户端获取代码,但不会将其转发到OAuth服务器以获取令牌。 实际上它已经获得了令牌,包括步骤3中的代码。
答案 0 :(得分: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
}