因此,我已经按照 msal-Angular 中的说明成功地将 Azure AD 身份验证集成到我的 Angular 站点中,现在我正在寻求定义和利用角色和权限来提供对用户的更精细的控制能做和不能做。
据我所知,我可以按照这组说明来定义角色(https://learn.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles)但 msal-Angular 似乎没有在登录时公开这一点 - 或者至少我还没有找到有关如何执行此操作的说明。
也许我错过了一些东西。任何建议,将不胜感激
要获取用户所属的组,您需要添加directory.read.all
到 Angular 应用程序以及 Azure 应用程序设置中的 API 权限中的范围。
let graphUser = await graphClient.api('/me').get();
let graphUserGroups = await graphClient.api(`/users/${graphUser.id}/memberOf`).get();
let user = new User();
user.id = graphUser.id;
user.displayName = graphUser.displayName;
// Prefer the mail property, but fall back to userPrincipalName
user.email = graphUser.mail || graphUser.userPrincipalName;
graphUserGroups.value.forEach(group => {
user.groups.push({
group_id: group.id,
group_name: group.displayName
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)