此错误出现在日志文件中(略微格式化以便于阅读):
StatusCode: 400 : Bad Request : {
schema :[ urn:ietf:params:scim:api:messages:2.0:Error ]
schemas :[ urn:ietf:params:scim:api:messages:2.0:Error ]
detail : 1 validation error detected:
Value at 'phoneNumbers.1.value' failed to satisfy constraint:
Member must satisfy regular expression pattern:
[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+
}
这可能是由于电话号码的格式如下:
+1 (212) 555-1212
而不是以下格式之一:
12125551212
+1.212.555.1212
如何解释这个正则表达式来证实这一点?
这是一个支持 Unicode 的正则表达式。请参阅https://www.unicode.org/reports/tr18
正则表达式允许使用字母、标记、符号、数字、标点符号、制表符、换行符、回车符或空格。
除了空字符串或控制字符之外的任何内容。
现在……我暂时无法评论,所以我想在这里问一下: 我在将 Google Workspace 用户配置到 AWS 时也遇到了同样的问题。大多数用户配置都正常,但有些用户却因为这个错误而失败了。我看不出不同用户的电话号码格式有什么区别。您是怎么解决这个问题的?
首次实施 Google 到 AWS SCIM 同步时,我们的一些用户(尤其是最近创建的用户)遇到了此错误。之前创建的用户始终同步正常。我们所有用户的电话号码均已分配,格式相同,如下例所示:
+44 4444 4444444
。在尝试了不同的电话号码格式(但没有帮助)之后,我尝试在 Google 管理面板中删除一个用户的电话号码,这立即修复了该用户的同步错误。
接下来,我尝试恢复该用户的电话号码,然后从 Google 到 AWS SCIM 的同步配置中删除电话号码类型和值的映射。这修复了之前所有用户同步失败的错误。
根据这些实验,我的建议是不要尝试使用 SCIM 将用户的电话号码从 Google 同步到 AWS,直到他们通过集成解决这个明显的问题。