Forum Discussion

ronnoc's avatar
ronnoc
Advocate II
9 years ago
Solved

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.


    ronnoc

    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_Zhang's avatar
    Eric_Zhang
    Microsoft 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.


    ronnoc

    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)