在Azure Active Directory中配置应用程序时,您可以创建有效期为1年或2年的密钥。在拥有许多服务和客户的组织中,您如何管理密钥续订?
Azure Active Directory是否会在密钥到期时告诉您?有没有办法生成具有更长寿命甚至无限期寿命的密钥?
答案 0 :(得分:3)
2016年9月更新:现在可以从新门户中选择无限到期日期。在幕后,它实际上并不是无限的,但它确定了未来很远的日期。
答案 1 :(得分:1)
不幸的是,找出Azure Active Directory(AAD)应用程序密钥/客户机密钥的到期时间的唯一方法是通过Azure旧门户网站到今天。
此外,正如您在Azure旧门户网站中所看到的,关键持续时间只有2个选项,即 1年或 2年。
希望这有帮助!
答案 2 :(得分:1)
对于我正在撰写的应用程序,我已设法通过手动创建应用程序来设置过期时间为99年。您还可以使用AppId使用新密钥更新现有应用程序。
为此,我使用了Native应用程序;
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 };
GraphAPI.NativeConnection是本机应用程序的单例实例,通过图形API为azure。
编辑,这个单例是我自己的实现
由于您通常会在管理门户的网页中看到新秘密,因此您需要存储该秘密并将其显示给用户以便记下。
创建新应用程序时,您还需要ResourceAccess。这些项目可以在其他应用程序的清单中找到。