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

Szt*_*cki 6 c# asp.net-mvc active-directory azure

我目前有一个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"]
                });
        }
    }
Run Code Online (Sandbox Code Playgroud)

小智 0

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

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