3

我知道 OAuth 的概念是什么:用户使用授权类型、用户名和密码向服务器发送请求,在对服务器进行一些检查后,用户会收到一个访问令牌。我无法理解的是为什么我应该这样做:

        ClaimsIdentity oAuthIdentity = await _userManager.CreateIdentityAsync(user,
            context.Options.AuthenticationType);
        var ticket = new AuthenticationTicket(oAuthIdentity, GenerareProperties(user));
        context.Validated(ticket);

什么是CreateIdentityAsync回归?什么是AuthenticationTicket? 做什么context.Validated?另外,如果我有,我oAuthIdentity为什么还要使用cookiesIdentity?最后,访问令牌在哪里生成?

我搜索但找不到解释这一点的网站。

4

1 回答 1

1

CreateIdentityAsync将返回 ClaimsIdentity 以在运行上下文的 ClaimsPrincipal 中使用,该上下文在 ...

为了方便起见, AnAuthenticationTicket只是传入的内容的包装。

context.Validated会将票证中的信息添加到当前主体,并允许 OWIN 管道继续运行,而不是返回 401。

原因cookiesIdentity是允许从模板中的 MVC 页面进行身份验证。它确实不用于 WebApi。

  • 一些进一步阅读的来源:
    • 这是一篇不错的文章,描述了 RC 中的模板,类似
    • 这里还有两个 博客,他们的作者分解了可能看起来晦涩难懂的部分 .NET 安全性
于 2014-03-21T22:02:20.657 回答