如何解决从隔离的Web部件中将成员添加到组
我有一个带有独立Web部件的SPFx项目。当前用户可以从Web部件将自己添加到预定义的Azure AD组中。我们正在使用它为用户提供一种通过SPO中的“现代受众群体”订阅内容的方式。
我使用这样的代码来添加用户:
this.props.context.msGraphClientFactory
.getClient()
.then((client: MSGraphClient): void => {
client
.api("/groups/" + groupId + "/members/$ref")
.version("v1.0")
.post({ "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/" + this.state.myId },(error,response) => {
if (error) {
this.setState({error: true});
this.checkMemberships();
}
this.checkMemberships();
});
});
我已经根据组文档尝试了Graph权限的所有可能组合。
https://docs.microsoft.com/en-us/graph/api/group-post-members?view=graph-rest-1.0&tabs=http
但是每次出现相同的问题。如果当前用户是全局管理员,则通话会顺利进行,并且该用户将添加到所选组中。如果该用户是普通用户,但没有特殊的管理员角色,则呼叫将失败,并显示“权限不足”。
我意识到这种权限设置为Azure AD中的组打开了一个巨大的大门,但是我们还有其他措施可以阻止Web部件的编辑者随机选择组。一种是使用隔离的Web部件,这样只有该Web部件才能获得许可。
无论是普通的Web部件还是隔离的Web部件,情况都是相同的。有没有人遇到过类似的问题并找到了解决方案?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。