OAuth访问令牌是否包含JWT令牌等角色

时间:2016-08-05 21:29:38

标签: oauth-2.0 asp.net-web-api2 jwt access-token

我使用OAuth 2.0,OWIN和JWT(JSON Web令牌)令牌进行了多次samples/tutorials验证和授权访问ASP.NET Web API v2。我喜欢JWT令牌的一个原因是用户所属的角色包含在令牌本身中。根据分配给带有令牌的用户的角色,我可以允许/拒绝访问API方法。

public class TestsController : ApiController
{
    [Authorize(Roles = "Admin")]
    [HttpGet]
    [Route("getdatetime")]
    public IHttpActionResult GetDateTime()
    {
        return Ok(String.Format("The current Date/Time is {0}", DateTime.Now));
    }
}

我正在查看OAuth令牌的原因是我无法找到显示如何实现JWT刷新令牌的示例。我有一些examples如何实现OAuth刷新令牌,但可能必须走这条路线。在这种情况下,我想知道OAuth令牌是否也可以包含{JWT令牌等role信息。

1 个答案:

答案 0 :(得分:0)

我假设您将访问令牌视为Oauth令牌,因此OAuth2.0 Spec本身并不强制执行访问令牌的任何格式,因此您可以使用您喜欢的任何格式,无论是随机唯一字符串还是json字符串。

因此,您可以很好地将JWT令牌用作OAuth访问令牌,并在发布时设置必要的声明(角色)。

希望有所帮助!