如何解决为什么Msal.getAccount丢失了以前显示的应用角色?
编辑:该问题神奇地解决了自己,因此我怀疑AzureAD在白天运行或重新配置。现在,我再次对IdToken进行解码,并确定其中包含角色。因此,应用程序角色应该在IdToken中,如果不是,我会怀疑AD对错误负责。
我正在构建具有针对Azure AD授权的SPA。我使用Msal.js版本1.4.0处理授权。我用范围调用loginRedirect-function,对于某些页面,我还会检查应用程序角色。到目前为止,我一直在通过 msal.getAccount().idToken.roles
检查批准情况,并且工作正常。现在我突然丢失了返回的帐户对象上的角色属性。
我已经使用JWT.IO解码了令牌。我的访问令牌包含该角色,并且我知道甚至在工作之前都是如此。我的原始IdToken不包含我的角色,但是我不知道这是否与以前有所不同。
我可以想到自正常运行以来可能发生的2次更改。 1. Msal.js已更新为1.4.0,但没有引起我的注意,它不再支持以这种方式获取应用程序角色。但是我不知道那是不是真的。该版本仅一个月之久,我不知道我们已经使用了多长时间了。 2. Azure-AD管理员可能已经更改了IDToken所包含的内容。我从未管理过AzureAD,所以我什至不知道那是否有可能。
我正在考虑编写代码以解码应用程序内部的访问令牌并以此方式提取角色,但是我宁愿通过对msal-package的函数调用来获取它。感觉自然得多。
您知道我为什么要经历这种变化吗?您对我如何提取与SPA中已登录用户连接的应用程序角色有任何建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。