【问题标题】:Do OAuth access tokens contain roles like JWT tokensOAuth 访问令牌是否包含 JWT 令牌之类的角色
【发布时间】:2016-12-12 09:17:49
【问题描述】:

关于使用 OAuth 2.0、OWIN 和 JWT(JSON Web 令牌)令牌对 ASP.NET Web API v2 进行身份验证和授权访问,我已经经历了几个 samples/tutorials。我喜欢 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 令牌是否也可以包含 role 信息,例如 JWT 令牌。

【问题讨论】:

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


    【解决方案1】:

    我假设你的意思是访问令牌作为 Oauth 令牌,所以 OAuth2.0 Spec 本身并不强制访问令牌的任何格式,所以你可以使用任何你喜欢的格式,无论是随机唯一字符串还是 json 字符串。

    因此,您可以很好地将 JWT Token 用作 OAuth Access Token,并在发布它们时设置必要的声明(角色)。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 2019-03-19
      • 2019-12-08
      • 2015-06-24
      • 1970-01-01
      • 2019-09-19
      • 2021-05-26
      • 2019-05-11
      • 2019-07-23
      相关资源
      最近更新 更多