我正在使用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令牌?
答案 0 :(得分:0)
AzureAD B2C在上载后不会显示其私钥。通过使用api,您只能访问元数据,通过使用知名的元数据发现点,您可以获得公共密钥。
您需要将证书与加密的数据存储区(例如Azure Key Vault)一起存储,并在对令牌进行签名时使用它。根据示例,您也不需要将其上传到AADB2C。