我目前有一个Azure网站连接到Azure Active Directory,用户当前可以使用此登录。
但是,作为登录过程的一部分创建的访问令牌只允许用户保持登录一小时。经过一些研究后,我发现可以通过引入刷新令牌来解决这个问题,这将使用户能够登录更长时间。
现在的问题是我找不到任何关于如何在我的项目中实际创建和使用此刷新令牌的代码。下面是我用来与Active Directory通信的库和代码:
using Microsoft.Owin.Security.ActiveDirectory;
public class Startup {
public void Configuration(IAppBuilder app) {
var config = new HttpConfiguration();
ConfigureAuth(app);
}
private void ConfigureAuth(IAppBuilder app) {
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions {
TokenValidationParameters = new TokenValidationParameters {
ValidAudience = ConfigurationManager.AppSettings["ida:AudienceUri"]
},
Tenant = ConfigurationManager.AppSettings["AzureADTenant"]
});
}
}
答案 0 :(得分:0)
请特别关注active-directory-dotnet-webapp-webapi-oauth2-useridentity如何将TokenDbCache与ADAL结合使用来存储refreshtokens。
当您使用TokenCache配置ADAL AuthenticationContext时,ADAL将自动尝试从缓存中检索刷新令牌(如果可用且有效)。