【问题标题】:Using Azure ADB2C tokens to authenticate to RabbitMq使用 Azure ADB2C 令牌向 RabbitMq 进行身份验证
【发布时间】:2021-01-21 19:10:52
【问题描述】:

我正在使用 Azure ADB2C 对我的用户进行 Web 服务的身份验证。我还使用自定义策略来丰富 Azure ADB2C 生成的令牌。这很好用。

现在我想添加另一个服务,为此我想使用 RabbitMq。为了向 RabbitMq 服务器验证用户身份,我想使用 RabbitMq 的oauth2 plugin

基本上,我想使用 Azure ADB2C 生成的相同 jwt 令牌来对 RabbitMq 服务器的用户进行身份验证和授权。

为此,我需要向 RabbitMq 提供我的自定义 Azure ADB2C 策略正在使用的 UAA signing key

这是来自 RabbitMq oauth2 的示例:

[
  %% ...
  %% backend configuration
  {rabbitmq_auth_backend_oauth2, [
    {resource_server_id, <<"my_rabbit_server">>},
    %% UAA signing key configuration
    {key_config, [
      {signing_keys, #{
        <<"a-key-ID">> => {pem, <<"*-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2dP+vRn+Kj+S/oGd49kq
6+CKNAduCC1raLfTH7B3qjmZYm45yDl+XmgK9CNmHXkho9qvmhdksdzDVsdeDlhK
IdcIWadhqDzdtn1hj/22iUwrhH0bd475hlKcsiZ+oy/sdgGgAzvmmTQmdMqEXqV2
B9q9KFBmo4Ahh/6+d4wM1rH9kxl0RvMAKLe+daoIHIjok8hCO4cKQQEw/ErBe4SF
2cr3wQwCfF1qVu4eAVNVfxfy/uEvG3Q7x005P3TcK+QcYgJxav3lictSi5dyWLgG
QAvkknWitpRK8KVLypEj5WKej6CF8nq30utn15FQg0JkHoqzwiCqqeen8GIPteI7
VwIDAQAB
-----END PUBLIC KEY-----*">>}
          }}
      ]}
    ]}
].

但我找不到这个“公钥”。

例如,查看此demo key,没有 RabbitMq oauth2 身份验证器要求的 PUBLIC KEY。

在哪里可以找到我要使用的 Azure ADB2C 自定义策略的公钥?

【问题讨论】:

    标签: rabbitmq azure-ad-b2c azure-ad-b2c-custom-policy


    【解决方案1】:

    转到 Azure 门户,AAD B2C Blade。查找您的自定义策略或用户流。单击“立即运行”按钮。 在窗格中,您将找到Open ID Connect Metadata document

    https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/your-policy-id/v2.0/.well-known/openid-configuration

    在本文档中,您将找到一个 JWKS URI。打开 JWKS URI。在 JWKS URI 中,您将找到用于生成签名密钥的参数 - 模数 (n) 和指数 (e)。

    您需要组合这些值(二进制编码字节)来重新创建您正在寻找的公共证书。 I have a RSA public key exponent and modulus. How can I encrypt a string using Python?

    【讨论】:

    • 无法让它工作。我不断收到此错误:“使用 OAuth 2/JWT 令牌进行身份验证失败:signature_invalid”。这意味着不知何故我没有以正确的方式构造公钥。
    • 很有可能。您可能应该在密码学部分提出一个单独的问题。
    • @Copiltembel 您是如何在 Azure 中为 rabbiMQ 用户提供范围的?
    猜你喜欢
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多