繁体   English   中英

B2C Graph API 更新用户、UserPrincipalName 作为电子邮件:URL 不支持加号 (+) 登录电子邮件?

[英]B2C Graph API Update User, UserPrincipalName as an email: URL does not support plus (+) sign in email?

我在这里测试对 Graph API 的 PATCH 请求: https://graph.microsoft.com/v1.0/users/{id | userPrincipalName} https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}更新accountEnabled属性。

文档指出这是格式: https ://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=http

我之前做了一个 POST 请求,并成功地将userPrincipalName作为电子邮件的用户(在 B2C 用户的身份数组中),类似于emailaddress+1@gmail.com

当我尝试将其作为userPrincipalName放入 URL 时,我从图形 API 中得到unknownError 经过一些试验,我发现 URL 中的+是有意义的。 但是,对于+%2bUrlEncode也不起作用。 编码 @ 符号甚至会引发 API 错误?

API URL 不支持吗? 在 Azure 门户的 B2C 用户面板中,我看到的所有用户主体名称都是我使用原始 POST 请求向他们发送的电子邮件。 我能想到的唯一解决方案是首先不允许用户在他们的电子邮件中使用 + 登录来注册。 在我的情况下,使用用户/对象 ID 是不可能的。

userPrincipalName 允许的字符是A - Za - z0 - 9' . - _ ! # ^ ~ ' . - _ ! # ^ ~ ' . - _ ! # ^ ~ . 文档中阅读有关用户名策略的更多信息。

知道您是否确实能够使用不允许的 userPrincipalName 字符创建用户,或者 API 是否忽略/删除/转换了+号,这将是一件有趣的事情。 你可以通过在 Azure Portal 上搜索得到用户的Id吗? 然后您可以获取用户并查看userPrincipalName的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM