Forum Discussion
Access token setting expiration times
I have seen many posts about how to prevent token expiration but I am currently looking for the opposite solution,
It seems the expiration in my tokens is being ignored. The following is the embed token code snippet in my ASP.net dashboard controller, posting the token to an Angular 2 front end to be fetched and displayed in an iFrame using the powerbi-client.js library.
var embedToken = PowerBIToken.CreateReportEmbedToken(bi_workspaceCollection, bi_workspaceId, bi_Id, expiration: DateTime.Now.AddMinutes(5.0)
, UserID.ToString(), roles: new List<string>() { "UserAccess", "UserDataSourceAccess" });
Is there something I am missing in my approach? Any help is appreciated.
Thank you for your time.
ronnoc wrote:
I have seen many posts about how to prevent token expiration but I am currently looking for the opposite solution,
It seems the expiration in my tokens is being ignored. The following is the embed token code snippet in my ASP.net dashboard controller, posting the token to an Angular 2 front end to be fetched and displayed in an iFrame using the powerbi-client.js library.
var embedToken = PowerBIToken.CreateReportEmbedToken(bi_workspaceCollection, bi_workspaceId, bi_Id, expiration: DateTime.Now.AddMinutes(5.0) , UserID.ToString(), roles: new List<string>() { "UserAccess", "UserDataSourceAccess" });Is there something I am missing in my approach? Any help is appreciated.
Thank you for your time.
As per this documentation, the minium life for an accesstoken is 10 minutes, so try to extend the parameter to at least 10 minutes. Based on my test, the token generated with less than 10 minutes life still works for 10 minutes, even though the "exp" filed(decode token at http://jwt.io) shows the life time they were expected.
DateTime.Now.AddMinutes(10.0)
1 Reply
- Eric_ZhangMicrosoft Employee
ronnoc wrote:
I have seen many posts about how to prevent token expiration but I am currently looking for the opposite solution,
It seems the expiration in my tokens is being ignored. The following is the embed token code snippet in my ASP.net dashboard controller, posting the token to an Angular 2 front end to be fetched and displayed in an iFrame using the powerbi-client.js library.
var embedToken = PowerBIToken.CreateReportEmbedToken(bi_workspaceCollection, bi_workspaceId, bi_Id, expiration: DateTime.Now.AddMinutes(5.0) , UserID.ToString(), roles: new List<string>() { "UserAccess", "UserDataSourceAccess" });Is there something I am missing in my approach? Any help is appreciated.
Thank you for your time.
As per this documentation, the minium life for an accesstoken is 10 minutes, so try to extend the parameter to at least 10 minutes. Based on my test, the token generated with less than 10 minutes life still works for 10 minutes, even though the "exp" filed(decode token at http://jwt.io) shows the life time they were expected.
DateTime.Now.AddMinutes(10.0)