使用带有 OTP 的 Microsoft Entra 外部 ID 本机身份验证,刷新令牌将在 12 小时后过期

问题描述 投票:0回答:1

问题

我们选择 Microsoft Entra 外部 ID 使用 CIAM 对外部消费者进行身份验证

我们使用这些 Android 和 iOS 客户端通过 OTP 身份验证来注册和登录用户

ms-identity-ciam-native-auth-android-示例 ms-identity-ciam-native-auth-ios-样本

在后端,我们仔细按照说明设置本机身份验证 + OTP(一次性密码)用户流程所需的一切记录在此处。

我们在使用本机身份验证

时收到的刷新令牌遇到了问题

我们的期望是刷新令牌的有效期为 90 天,因为我们没有使用单页应用程序 (SPA)

刷新令牌的默认生命周期对于单页应用程序为 24 小时,对于所有其他场景为 90 天。

但是我们的刷新令牌会在 12 小时后过期,这会导致我们的应用程序由于强制重复登录而导致糟糕的用户体验

AADSTS700082:刷新令牌由于不活动而已过期。该代币于 2024-09-25T13:42:23.0482303Z 发行,并在 12:00:00 内处于非活动状态。

故障排除

我们尝试遵循推荐的路径,但我们在追求每个选项时陷入困境:

  • 我们无法配置刷新令牌和会话令牌的令牌生命周期策略,因为截至 2021 年 1 月 30 日,这些策略尚未得到遵守。这反映在 Graph API 中,任何尝试使用端点
    /policies/tokenLifetimePolicies
    设置刷新令牌相关值都会导致错误:
{
    "error": {
        "code": "Request_BadRequest",
        "message": "Configure Token Lifetime for RT/ST (Refresh/Session Token) is retired and all policies will not be honored anymore Refer  https://go.microsoft.com/fwlink/?linkid=2153669 for more information",
        "details": [
            {
                "code": "UnsupportedPolicyProperty",
                "message": "Configure Token Lifetime for RT/ST (Refresh/Session Token) is retired and all policies will not be honored anymore Refer  https://go.microsoft.com/fwlink/?linkid=2153669 for more information",
                "target": "PolicyDetail"
            }
        ],
        "innerError": {
            "date": "2024-10-03T08:41:07",
            "request-id": "<uuid>",
            "client-request-id": "<uuid>"
        }
    }
}
microsoft-entra-external-id
1个回答
0
投票

感谢您的反馈。 我们已确认 12 小时刷新令牌的这种行为正在影响 Microsoft Entra 外部 ID,并且它特定于电子邮件 OTP 流。 这是由于出于安全原因对 Entra 进行的更改引起的。在解决该问题之前,一种解决方法是使用用户名/密码流程。

在将刷新令牌生命周期放回到 90 天之前,团队目前已优先修复电子邮件 OTP 场景中会话控制的条件访问。 我们对您的反馈感兴趣,您的电子邮件 OTP 场景是否需要 MFA 等条件访问策略?

© www.soinside.com 2019 - 2024. All rights reserved.