2015-08-23 41 views
0

我正在uwp上编写应用程序。我必须从login.live.com获取令牌,但我不知道如何获得此令牌的到期时间。我有该代码:cuth中的OAuth2令牌过期时间#

 var tokenProvider = await WebAuthenticationCoreManager.FindAccountProviderAsync(_webProviderId); 
     var tokenRequest = new WebTokenRequest(tokenProvider, Scopes.ToString()); 
     var tokenRequestResult = await WebAuthenticationCoreManager.RequestTokenAsync(tokenRequest); 
     if (tokenRequestResult.ResponseStatus == WebTokenRequestStatus.Success) 
     { 
      var tokenResponse = tokenRequestResult.ResponseData.First(); 
      Token.SetToken(tokenResponse.Token, 3600); // add server expiration time 
      Scopes.Updated = true; 
     } 
     else { throw new Exception("Token provider error"); } 
+0

除了使用WebAuthenticationCoreManager进行身份验证之外,您是否需要过期时间?它应该自动处理刷新令牌。 – nimatra

+0

@nimatra这意味着字符串中的标记没有“过期时间”? –

+0

对不起,迟到的回应,它确实但WebAuthenticationCoreManager正在照顾刷新它。 – nimatra

回答

0

对于令牌请求收到的http响应将有一个名为“expires_in”的参数。从这个值中,你应该能够得出令牌过期的持续时间。检查OAuth2.0 Live Connect文档。