oauth-2.0 Azure AD强制对数字签名进行重新身份验证

ix0qys7i  于 2022-10-31  发布在  其他
关注(0)|答案(2)|浏览(191)

我有一个应用程序,在系统内执行某些操作需要用户执行数字签名(例如,重新输入用户凭据)。我希望使用Azure AD实现此操作(B2C)OIDC SSO。我的计划是使用OIDC参数prompt=loginmax_age=0重定向到授权URL(灵感来自2017年的this article),但Azure AD似乎不再支持此功能,因为我在尝试时收到以下错误消息:

  • 模数转换器ADB2C90120:要求中指定的最大存留期参数'0'无效。最大存留期必须是介于'900'到'86400'之间的整数(含这两个值)。*

900秒的认证时间不足以保证用户已经对需要签名的操作进行了重新认证。能否以某种方式绕过900秒的限制?是否有其他方法来解决此问题?

lsmd5eda

lsmd5eda1#

使用prompt=login就足够了,只要用户使用此参数登录到身份验证页面,会话cookie就会被破坏,因此暗示这还不够的文章不再适用。

chhkpiq4

chhkpiq42#

AAD B2C不支持max_age=0,如果您获得重定向URL并在导航到prompt=login之前删除它(例如使用curl),则可以绕过prompt=login
B2B更容易绕过prompt=login(让浏览器导航到URL,删除prompt=login并刷新页面),但B2B支持max_age=0,这是无法绕过的。
奥克塔有一个great description of the limitations of prompt=login

相关问题