从SWT令牌获取索赔

时间:2017-05-01 13:29:31

标签: c# azure asp.net-core access-token claims

我已在服务器端的ASP.Net Core应用程序中成功验证了我的Azure Media Services帐户。 Azure返回一个简单Web令牌(SWT),其中还包含具有此令牌的到期时间戳的声明。

令牌如下所示:

  

的http%3A%2F%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier = healthtrainee&安培;瓮%3aSubscriptionId = bc73f3ce-的αAFE-40页-bd14-56bd5969b725&安培; HTTP%3A%2F%2fschemas .microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider = HTTPS%3A%2F%2fwamsprodglobal001acs.accesscontrol.windows.net%2F&安培;观众=瓮%3aWindowsAzureMediaServices&安培;的 ExpiresOn = 1493595982 &安培;发行人= HTTPS%3A%2F%2fwamsprodglobal001acs.accesscontrol.windows.net%2F&安培; HMACSHA256 = a1tBHoUzli1oEzzGwYGcqdE5EGJAv8xPXzz4XWB5EBo%3D

如何从此令牌中获取声明以处理令牌生命周期(必要时刷新)。 我确信有些东西可以让我免于解析这个问题。

1 个答案:

答案 0 :(得分:1)

  

如何从此令牌中获取声明以处理令牌生命周期(必要时刷新)。

通常,如果我们使用REST API来获取访问令牌,我们可以检索access_tokenexpires_in(表示访问令牌有效的秒数)值响应主体,然后我们可以将值缓存到外部存储并监视expires_in值并确保访问令牌未过期。

此外,如果我们使用Media Services SDK,我们也可以retrieve and cache the AccessToken string and the TokenExpiration values,然后监控并确保TokenExpiration未过期。

var accessToken = _context.Credentials.AccessToken;
var tokenExpiration = _context.Credentials.TokenExpiration;