如何重新生成Azure AppServices身份验证签名密钥(WEBSITE_AUTH_SIGNING_KEY)

9

假设我的WEBSITE_AUTH_SIGNING_KEY已经被篡改了。

有没有一种方法可以生成一个新的密钥?

我尝试去kudu,打开控制台并输入set WEBSITE_AUTH_SIGNING_KEY = new key。它有效,但只要站点重新启动就会恢复到原始值。

编辑:

我也尝试过:

app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions
            {
                SigningKey = ConfigurationManager.AppSettings["SigningKey"],
                ValidAudiences = new[] { ConfigurationManager.AppSettings["ValidAudience"] },
                ValidIssuers = new[] { ConfigurationManager.AppSettings["ValidIssuer"] },
                TokenHandler =  config.GetAppServiceTokenHandler()
            });

这似乎是可行的(不确定是否是正确的做法)。但对于Facebook身份验证(端点/.auth/login/facebook),它不使用我的自定义密钥、有效受众或任何内容,而是使用默认值,我无法更改它们。这似乎是 Azure 的一个错误,非常恼人,如果不能更改,则使整个过程变得毫无用处。
谢谢。

请确认一下,您在 Azure 移动应用中使用的是 C# 还是 Node.js 平台? - Gary Liu
我正在使用C#平台。 - Joaozinho das Couves
嗨@joaozinhodascouves,你有任何更新吗? - Gary Liu
1个回答

2
根据你的描述,你已经尝试过前往kudo,打开控制台并输入set WEBSITE_AUTH_SIGNING_KEY = new key。但是,你是否已经替换了门户中的配置设置?请尝试在Azure移动应用门户中更改WEBSITE_AUTH_SIGNING_KEY设置。 enter image description here

这不起作用,因为现在AppServices从环境变量中读取密钥。 - Joaozinho das Couves
不,那是一个特殊的设置,将告诉应用服务使用该签名密钥。* 注意:签名密钥不能是任何字符串,它需要是一个SHA-256哈希字符串。 - evilSnobu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接