Azure Active Directory应用程序密钥续订

Azure Active Directory应用程序密钥续订,azure,azure-active-directory,Azure,Azure Active Directory,在Azure Active Directory中配置应用程序时,您可以创建有效期为1年或2年的密钥。在一个拥有许多服务和客户端的组织中,您如何管理密钥续订 Azure Active Directory是否会在密钥即将到期时通知您?有没有一种方法可以生成具有更长生命周期甚至无限生命周期的密钥 不幸的是,从今天起,要知道Azure Active Directory(AAD)应用程序密钥/客户端机密的过期时间,唯一的方法就是通过Azure旧门户 此外,正如您在Azure旧门户中所看到的,关键持续时间只

在Azure Active Directory中配置应用程序时,您可以创建有效期为1年或2年的密钥。在一个拥有许多服务和客户端的组织中,您如何管理密钥续订

Azure Active Directory是否会在密钥即将到期时通知您?有没有一种方法可以生成具有更长生命周期甚至无限生命周期的密钥


不幸的是,从今天起,要知道Azure Active Directory(AAD)应用程序密钥/客户端机密的过期时间,唯一的方法就是通过Azure旧门户

此外,正如您在Azure旧门户中所看到的,关键持续时间只有两个选项可用,即1年2年


希望这有帮助

对于我正在编写的应用程序,我通过手动创建一个应用程序,成功地将过期时间设置为99年。您还可以使用AppId使用新密钥更新现有应用程序

为此,我使用了一个本地应用程序

var app = (Application)await GraphAPI.NativeConnection.Applications.Where(a => a.AppId.Equals(appClientId)).ExecuteSingleAsync();
string clientSecert = Guid.NewGuid().ToString();
DateTime exipre = DateTime.UtcNow.AddYears(99);
PasswordCredential pwc = new PasswordCredential
{
    StartDate = DateTime.UtcNow,
    EndDate = exipre,
    KeyId = Guid.NewGuid(),
    Value = clientSecert
};

app.PasswordCredentials.Add(pwc);
await app.UpdateAsync();

return new AppData { ClientId = appClientId, ClientSecert = clientSecert, ExpireDate = exipre };
NativeConnection是通过azure的graph API的本机应用程序的单例实例

编辑,这个单件是我自己的实现

由于您通常会在管理门户的网页中看到新的机密,因此您需要存储该机密并将其显示给用户以供记录


创建新应用程序时,您还需要使用ResourceAccess。这些项目可以在其他应用程序的清单中找到。

更新2016年9月:现在可以从新门户选择无限到期日期。在幕后,它实际上不是无限的,但它设定了一个非常遥远的未来日期


资料来源:

这太可悲了。如果他们能延长这段时间,或者至少在到期日临近时给你发封电子邮件,那就太好了。