0

我正在使用 Azure B2C 自定义策略向用户发送邀请链接,其中包含必要的详细信息的 JWT 令牌。

我需要在 JAVA 中创建 JWT 令牌。使用 jjwt 库,我成功地使用 HS256 创建了一个令牌,但后来​​发现我需要使用 RSA256 对令牌进行签名。我在 Azure AD B2C 中有 TokenSigningKeyContainer 策略密钥,具有以下字段

{
    "metadata": {
        "tenantID": "<tenant>.onmicrosoft.com",
        "storageKeyId": "B2C_1A_TokenSigningKeyContainer",
        "updatedUtc": "10/16/2019 2:12:11 PM"
    },
    "keys": [
        {
            "kid": "<key_id>",
            "use": "sig",
            "key_ops": [
                "sign"
            ],
            "kty": "RSA",
            "e": "<>",
            "n": "<n_value>"
        }
    ]
}

这似乎是验证生成令牌的公钥,在邀请链接中发送。

我需要知道的是如何获取私钥的必要详细信息以签署 JWT 令牌?

4

1 回答 1

0

AzureAD B2C 在上传后不会透露私钥。通过使用 api,您可以仅访问元数据,通过使用众所周知的元数据发现点,您可以获得公钥。

您需要将证书与加密数据存储(例如 Azure Key Vault)一起存储,并在签署令牌时使用它。根据示例,您也不需要将其上传到 AADB2C。

于 2019-10-17T16:32:23.540 回答