如何为Azure AD创建和使用刷新令牌

本文关键字:刷新 令牌 创建 Azure AD | 更新日期: 2023-09-27 18:02:29

我目前有一个Azure网站,它连接到Azure活动目录,用户目前可以使用它登录。

但是,作为登录过程的一部分创建的访问令牌仅允许用户保持登录一小时。经过一番研究,我发现这个问题可以通过引入刷新令牌来解决,这将使用户能够更长时间地登录。

现在的问题是,我找不到关于如何在我的项目中实际创建和使用此刷新令牌的任何代码。下面是我用来与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"]
                });
        }
    }

如何为Azure AD创建和使用刷新令牌

看看active-directory-dotnet-webapp-webapi-oauth2-useridentity,特别是它是如何结合使用TokenDbCache和ADAL来存储刷新令牌的。

当你用TokenCache配置ADAL AuthenticationContext时,ADAL将自动尝试从缓存中检索刷新令牌,如果可用且有效。