这些属性添加到用于的令牌响应中的是什么?

时间:2015-02-08 16:27:14

标签: c# oauth-2.0 asp.net-web-api2 owin

我正在使用OWIN中间件研究使用OAuth 2.0的ASP.NET WebAPI 2上的身份验证,并且我对在VS模板上与令牌响应一起发送的一些其他属性存在疑问。

基本上在ApplicationOAuthProvider课程中我们找到了这两种方法:

public override Task TokenEndpoint(OAuthTokenEndpointContext context)
{
    foreach (KeyValuePair<string, string> property in context.Properties.Dictionary)
    {
        context.AdditionalResponseParameters.Add(property.Key, property.Value);
    }

    return Task.FromResult<object>(null);
}

public static AuthenticationProperties CreateProperties(string userName)
{
    IDictionary<string, string> data = new Dictionary<string, string>
    {
        { "userName", userName }
    };
    return new AuthenticationProperties(data);
}

第一个,选择在context.Properties上找到的数据并添加到响应中,第二个将一个属性userName添加到创建AuthenticationProperties对象的响应中。然后,此对象用于创建AuthenticationTicket,并且响应不仅包含令牌,还包含其他属性。

我的怀疑是:首先,context.Properties上找到的那些属性是什么?为什么我们打扰与令牌一起发送呢?其次,这AuthenticationProperties类型的用途是什么,为什么我们只使用userName发送它?这种类型可以用于什么?

我对这些额外的属性感到困惑,因为我认为从服务器获取的唯一重要的是令牌。是否有更深层次的理由发送这些属性?或者我们只是发送它们为前端提供额外的数据,比如提供用户名,以便客户端可以在某个地方显示它?

0 个答案:

没有答案