我使用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
信息。
答案 0 :(得分:0)
我假设您将访问令牌视为Oauth令牌,因此OAuth2.0 Spec本身并不强制执行访问令牌的任何格式,因此您可以使用您喜欢的任何格式,无论是随机唯一字符串还是json字符串。
因此,您可以很好地将JWT令牌用作OAuth访问令牌,并在发布时设置必要的声明(角色)。
希望有所帮助!