Azure ad b2c azure B2C为不同B2C帐户上的相同策略提供不同类型的密钥(用于登台)

Azure ad b2c azure B2C为不同B2C帐户上的相同策略提供不同类型的密钥(用于登台),azure-ad-b2c,Azure Ad B2c,我们有4个不同的b2c帐户,以反映我们的不同阶段。(开发,测试,prepod,prod)。我们使用jenkins部署自定义策略,它们是相同的(租户除外)。在dev和prepod中,我为jwk获得了 { "keys": [ {"kid":"cryDHrls_bD7W0G0PEd-4k61TsW-aQmprRc4hxVwLEo","use":"sig","kty":"RSA","e":"AQAB","n":"uXyfO_YvhkxIhk3k3cFmvigl9tcewAaohABpukYs

我们有4个不同的b2c帐户,以反映我们的不同阶段。(开发,测试,prepod,prod)。我们使用jenkins部署自定义策略,它们是相同的(租户除外)。在dev和prepod中,我为jwk获得了

{
  "keys": [
    {"kid":"cryDHrls_bD7W0G0PEd-4k61TsW-aQmprRc4hxVwLEo","use":"sig","kty":"RSA","e":"AQAB","n":"uXyfO_YvhkxIhk3k3cFmvigl9tcewAaohABpukYsUceakNOzGHSvnT0uAX7-0k_xa5PKA7pgskgQYeN70iUw4BIlbaBISpJKZpiY0wv3H23EbrTt6aUV7rvBYH2UoJ2LoBhsQaqM3Wer7wD8TjPT11azPUSOyuS7Ju5NZeG723kIxNFFb0H4_eHsHeFkxktxXxmcVMDDlWIpq85PCJepdf-KtXbWLl3QfLa5CG6rTd3R6p53CDX0ktg1weNqlcg3W05D_zBJ9_QLP-9tJKqQIoN4L-5aAlIvzcM2rQpjljHqxg11c7p4ecqqg8IBoh7Ob5BgE1lPpKdcNDdpW6g2vQ"}
  ]

分别。但在我们的测试帐户上,我得到了

{
  "keys": [
    {"kid":"Gwsav9XG6fIaFHmzxMUZ0AvF_VpKCOsI_8qmQ53-uO4","use":"sig","kty":"oct"}
  ]
}

我没有找到任何选项来设置/影响这一点,我们用于检查jwt的java库(auth0)不能与这种jwk一起工作。

您可能连接到错误的端点以获取密钥


通常,您应该首先连接到租户和策略的.known端点,例如。然后从响应中检索jwks_uri,类似于。请注意,这与您在评论中给出的端点不同,因此这可能是您的问题。正确的关键端点包括URL中的“te”,策略是URL的一部分,不在查询字符串中传递。

我创建了一个新租户,但实际上找到了我自己问题的答案。创建TokenSigningKeyContainer密钥时,请确保选择RSA


您能否确认您正在从您的租户的.known端点检索的jwk_URI字段中获取密钥?请记住,这些密钥由Microsoft管理,可能特定于租户和策略。您是如何获得这些密钥的?我刚刚检查过,B2C端点返回的格式略有不同。特别是,我的记录总是具有nbf属性。我不应该给出b2c租户的名称(所有3个都与contagodev、contagotest等Couzre不同),我点击这个端点以获得jwkhttps://.b2clogin.com/.onmicrosoft.com/discovery/v2.0/keys?p=b2c_1a_my_signinthx 谢谢你的快速回复-我不知道,不幸的是,这些端点导致了与我在上面发布的结果相同的结果,即一个端点仍然是相同的。这只对一个租户发生,对所有策略都是一样的。我怀疑这与租户范围的设置不同。据我所知,密钥由MS控制。奇怪的是,类型为“oct”,这意味着“octet”,并且根据RFC 7518用于对称密钥,因此假定客户端已经知道密钥(这是一个共享秘密)。您是否尝试创建新的B2C租户?它应该是免费的。。。我怀疑您是以稍微不同的方式创建了该租户,或者在创建时出现了问题。请再次单击thx以获取您的答复-很可能就是这种情况-我将尝试创建一个新租户,看看是否找到了设置。
{
  "keys": [
    {"kid":"Gwsav9XG6fIaFHmzxMUZ0AvF_VpKCOsI_8qmQ53-uO4","use":"sig","kty":"oct"}
  ]
}