【问题标题】:ADAL AcquireTokenByRefreshTokenAsync not updating TokenCacheADAL AcquireTokenByRefreshTokenAsync 不更新 TokenCache
【发布时间】:2018-07-10 21:00:00
【问题描述】:

我们正在使用 ADAL V2.29.0 来尝试完成滚动 AccessToken。 IE AccessToken 将在 4 天后过期,而 RefreshToken 在 7 天后过期。每次您登录时,您的 RefreshToken 都会获得一个新的 AccessToken(因此自您上次登录后 4 天到期)

我们正在使用 AcquireTokenByRefreshTokenAsycn() 并且我们正在取回一个新的更新的 AccessToken。但是,TokenCache 没有更新,也没有将新令牌写入我们的 tokenPath。

我们如何将 TokenCache dictionaryItem 设置为 AquireTokenByRefreshTokenAsync 的结果?

AuthenticationContext ac = new AuthenticationContext( strAuthority, false, tokenFileCache );

//Authenticate using a refresh token and get new Access Token   
var refreshTokenString = File.ReadAllText( Path.Combine( appDataPath, refreshToken ) );
ar = await ac.AcquireTokenByRefreshTokenAsync( refreshTokenString, strClientIdentifier );

【问题讨论】:

    标签: c# adal


    【解决方案1】:

    答案是 ADAL 中的 AquireTokenByRefreshToken 调用旨在不访问 TokenCache。底层的 TokenCache 是一个 ConcurrentDictionary,它是 TokenCache 的私有成员,无法从 ADAL 框架外部访问。祝所有尝试这样做的人好运。我认为它会比我搜索的更常见

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 2015-02-01
      • 2018-02-10
      相关资源
      最近更新 更多