Azure active directory 条件访问策略不影响MSAL应用-未要求用户重新验证

Azure active directory 条件访问策略不影响MSAL应用-未要求用户重新验证,azure-active-directory,msal,caspol,Azure Active Directory,Msal,Caspol,Azure AD Premium具有条件接收策略的概念。更改登录频率时,不会影响访问令牌或刷新令牌的生存期。 由于访问令牌的默认生存期为1小时,因此无论您在Azure中将登录频率设置为什么,1小时后刷新令牌将用于获取新的访问令牌。 因此,在Azure AD premium中设置登录频率对默认msal应用程序没有影响 事实上,我通过以下简单步骤进行了测试: 下载使用PKCE()的身份验证代码流的msal angular示例 在Azure AD premium中为上述应用的应用注册添加条件访问策略

Azure AD Premium具有条件接收策略的概念。更改登录频率时,不会影响访问令牌或刷新令牌的生存期。 由于访问令牌的默认生存期为1小时,因此无论您在Azure中将登录频率设置为什么,1小时后刷新令牌将用于获取新的访问令牌。 因此,在Azure AD premium中设置登录频率对默认msal应用程序没有影响

事实上,我通过以下简单步骤进行了测试:

下载使用PKCE()的身份验证代码流的msal angular示例 在Azure AD premium中为上述应用的应用注册添加条件访问策略 确保在用户登录时应用该策略(例如,通过在企业应用程序上检查登录刀片或假设工具)

以下是条件接收策略:

下面的租户配置显示,用户在登录到此租户中的任何应用程序时无法选择“保持登录”选项

下面是
dsregcmd/status
结果的相关部分。我知道SSO状态对条件接收策略有影响

+----------------------------------------------------------------------+
| Device State                                                         |
+----------------------------------------------------------------------+

             AzureAdJoined : NO
          EnterpriseJoined : NO
              DomainJoined : YES
                DomainName : <redacted>
               Device Name : <redacted>

+----------------------------------------------------------------------+
| User State                                                           |
+----------------------------------------------------------------------+

                    NgcSet : YES
                  NgcKeyId : <redacted>
                  CanReset : NO
           WorkplaceJoined : YES
          WorkAccountCount : 2
             WamDefaultSet : NO

+----------------------------------------------------------------------+
| SSO State                                                            |
+----------------------------------------------------------------------+

                AzureAdPrt : NO
       AzureAdPrtAuthority : NO
             EnterprisePrt : NO
    EnterprisePrtAuthority : NO
+----------------------------------------------------------------------+
|设备状态|
+----------------------------------------------------------------------+
蓝精灵:没有
企业联合:没有
域名:是的
域名:
设备名称:
+----------------------------------------------------------------------+
|用户状态|
+----------------------------------------------------------------------+
NgcSet:是的
NgcKeyId:
可以重置:没有
工作人员:是的
工作帐号:2
WamDefaultSet:否
+----------------------------------------------------------------------+
|SSO状态|
+----------------------------------------------------------------------+
Azureadrt:没有
AzureAdPrtAuthority:没有
企业家:没有
企业管理局:没有

我从Microsoft server团队获得了以下响应,我可以确认它是准确的,尽管不直观:

条件访问是基于令牌访问群体执行的,而我们不这样做 在令牌访问群体是公共客户端的情况下,为id_令牌执行它

这就是CA政策不起作用的原因

CA不为公共客户端的id_令牌执行的原因是 因为CA旨在保护数据不受云的影响,并且具有 来自公共客户端的id_令牌不授予对来自的任何数据的访问权限 云

这是关于在他们的请求中可以访问的数据

他们可以尝试其他几种选择:

他们可以更改策略以应用于“所有应用”,然后SIF(登录 频率)将生效。他们可以试着制定政策 联机交换,并请求mail.read范围另一个示例:他们可以 尝试设置Sharepoint Online的策略,并请求文件。读取 范围

因此,如果条件满足,我们将应用条件接收策略 met,但仅适用于可以访问云中数据的令牌

我将条件接收策略更改为应用于“所有应用”,而不仅仅是msal应用的应用注册。MSAL应用程序在1小时后正确拒绝刷新令牌并重定向。我没有尝试其他例子,但考虑到触发SIF的因素,它们似乎也是有效的解决办法