1

我在向Auth0响应添加新属性时遇到了一些问题。我已经定义了一个新规则来将 user.awsRole 添加到用户对象,如下所示:

function (user, context, callback) {

  user.awsRole = 'arn:aws:iam::951887872838:role/TestSAML,arn:aws:iam::951887872838:saml-provider/MyAuth0';
  user.awsRoleSession = user.name;

  context.samlConfiguration.mappings = {
    'https://aws.amazon.com/SAML/Attributes/Role': 'awsRole',
    'https://aws.amazon.com/SAML/Attributes/RoleSessionName': 'awsRoleSession'
  };

  callback(null, user, context);

}

当我测试时,我可以看到正确的结果:

The profile is: 
{
  "name": "jdoe@foobar.com",
  "email": "jdoe@foobar.com",
  "nickname": "jdoe",
  "picture": "http://foobar.com/pictures/jdoe.png",
  "awsRole": "arn:aws:iam::951887872838:role/TestSAML,arn:aws:iam::951887872838:saml-provider/MyAuth0",
  "awsRoleSession": "jdoe@foobar.com",
  "user_id": "auth0|0123456789",
  "identities": [
    {
      "provider": "auth0",
      "user_id": "0123456789",
      "connection": "Username-Password-Connection",
      "isSocial": false
    }
  ]
}

现在,当我尝试使用我的应用程序登录时,我看不到新属性awsRole

为了查看规则是否有效,我尝试更改一些默认属性,例如:

user.email = "某事"

我可以在我的应用程序中看到电子邮件已设置为某些内容。

如果您知道如何将这些自定义属性添加到响应中,请告诉我。

我正在使用 Auth0 将 SSO 设置为 AWS。

4

0 回答 0