我们选择 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 内处于非活动状态。
我们尝试遵循推荐的路径,但我们在追求每个选项时陷入困境:
/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>"
}
}
}
感谢您的反馈。 我们已确认 12 小时刷新令牌的这种行为正在影响 Microsoft Entra 外部 ID,并且它特定于电子邮件 OTP 流。 这是由于出于安全原因对 Entra 进行的更改引起的。在解决该问题之前,一种解决方法是使用用户名/密码流程。
在将刷新令牌生命周期放回到 90 天之前,团队目前已优先修复电子邮件 OTP 场景中会话控制的条件访问。 我们对您的反馈感兴趣,您的电子邮件 OTP 场景是否需要 MFA 等条件访问策略?