Azure Active Directory应用程序密钥续订

时间:2015-12-22 11:11:13

标签: azure azure-active-directory

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

Azure Active Directory是否会在密钥到期时告诉您?有没有办法生成具有更长寿命甚至无限期寿命的密钥?

Azure Active Directory Key Duration

3 个答案:

答案 0 :(得分:3)

2016年9月更新:现在可以从新门户中选择无限到期日期。在幕后,它实际上并不是无限的,但它确定了未来很远的日期。

来源:https://stephaneeyskens.wordpress.com/2016/01/14/managing-expiration-of-azure-active-directory-application-client-secrets/

答案 1 :(得分:1)

不幸的是,找出Azure Active Directory(AAD)应用程序密钥/客户机密钥的到期时间的唯一方法是通过Azure旧门户网站到今天。

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

enter image description here

希望这有帮助!

答案 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。这些项目可以在其他应用程序的清单中找到。