Asp.net mvc 用于保护不同端点的多个B2C策略

Asp.net mvc 用于保护不同端点的多个B2C策略,asp.net-mvc,asp.net-core,katana,azure-ad-b2c,asp.net-authentication,Asp.net Mvc,Asp.net Core,Katana,Azure Ad B2c,Asp.net Authentication,在本文中,讨论了B2C中保护不同端点的多个策略,从而迫使某人再次登录以获取更敏感的资源 这听起来很棒,在Facebook或谷歌的例子中也得到了回应 我尝试过实现这一点,在一个控制器上设置两个可接受的策略,在另一个控制器上设置一个策略 如果您选择安全性较差的页面并登录,然后选择安全性较高的另一个页面,则会要求您再次登录。到目前为止,一切顺利 但是现在cookie包含安全策略的短期过期,因此在cookie过期后,您将被要求再次登录,即使您最初不太安全的登录的cookie仍然有效。在短时间内使用更安全

在本文中,讨论了B2C中保护不同端点的多个策略,从而迫使某人再次登录以获取更敏感的资源

这听起来很棒,在Facebook或谷歌的例子中也得到了回应

我尝试过实现这一点,在一个控制器上设置两个可接受的策略,在另一个控制器上设置一个策略

如果您选择安全性较差的页面并登录,然后选择安全性较高的另一个页面,则会要求您再次登录。到目前为止,一切顺利

但是现在cookie包含安全策略的短期过期,因此在cookie过期后,您将被要求再次登录,即使您最初不太安全的登录的cookie仍然有效。在短时间内使用更安全的cookie后,您的重复登录被卡住了

我如何告诉它切换回使用仍然有效的旧cookie(如果它仍然存在)

我一直在考虑这个问题,我不确定是否有更好的方法来处理它,即检查授权策略中在声明中发布的
,看看它是否足够新,如果不是,则返回unauthorized,这样他们将被迫再次登录。届时,他们将获得另一个长寿令牌,并在
声明中发布一个新的
,可以在网站上的任何地方使用

有什么想法吗


TIA

你能解决这个问题吗?如果我没记错的话,我完全放弃了这个想法。我的应用程序部分是web的,部分是本地的,最后我移动到了我自己创建的令牌/cookie中的权限声明。我真的很喜欢B2C,但它很容易陷入烹饪书的细节,然后让他们从你下面漂走。我使用B2C的身份令牌,然后从那里获取。是的,我也必须自己处理刷新代币。每个人都说不要把权限放在访问令牌中,但我一直保持这个列表简短,权限也很小。我没有公开的API,而且,我总有一天要上市。谢谢你花时间回复。不幸的是,我没有保释的选择-可能必须自己解决它,在博客上写下它,然后当有人最终告诉我我是怎么做错的时候修复它-哈哈-再次感谢