【问题标题】:Cannot understand MVC5 + WebApi2 Authorization看不懂 MVC5 + WebApi2 授权
【发布时间】:2014-01-20 02:36:45
【问题描述】:

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

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

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

我搜索但找不到解释此问题的网站。

【问题讨论】:

    标签: asp.net-web-api oauth-2.0 asp.net-mvc-5 asp.net-web-api2 asp.net-authorization


    【解决方案1】:

    CreateIdentityAsync 将返回 ClaimsIdentity 以在运行上下文的 ClaimsPrincipal 中使用,进一步抽象为...

    为了方便起见,AuthenticationTicket 只是对传入内容的封装。

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

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

    • 进一步阅读的一些来源:
      • 这是一个很好的article,它描述了来自 RC 的模板,类似
      • 这里还有two blogs 他们的作者分解了可能看起来晦涩难懂的部分 .NET 安全性

    【讨论】:

      猜你喜欢
      • 2013-11-19
      • 2017-09-29
      • 1970-01-01
      • 2014-01-17
      • 2014-11-10
      • 2014-06-14
      • 2017-09-21
      • 2015-08-25
      • 1970-01-01
      相关资源
      最近更新 更多