如何知道用户是否选择在Azure B2C中保持签名



我们使用Azure Active Directory B2C来验证用户进入我们的应用程序,我们使用用户流来让用户输入他们的凭据。从azure接收到访问令牌后,我们生成一个包含应用相关信息的应用令牌。

我们最近添加了keep me sing in功能,但似乎没有办法在响应中知道用户是否勾选了它?即使返回的访问令牌在60分钟后仍然过期。这给我们带来了一个问题,因为我们的应用程序会在令牌超时后自动注销用户。但如果用户选择保持登录,我们希望阻止这种行为。那么我们如何判断用户是否检查了keep me sign in?我在微软文档中读了很多,也搜索了很多,但没有找到一个方法!我发现的一件事是KMSI属性,但它只能添加到自定义策略中。女巫现在有点难做了…是否有办法从用户流中获得这样一个指标?

您可以使用自定义策略和索赔解析器获得令牌中的KMSI布尔值。

https://learn.microsoft.com/en-us/azure/active-directory-b2c/claim-resolver-overview

但是,在您的场景中不需要这样做。当访问令牌过期时,使用刷新令牌来赎回新的访问令牌。如果刷新令牌过期,则使用B2C cookie通过B2C登录页面执行单点登录。

只有当以上所有选项都过期/无效时,用户才会注销。

在这里阅读更多内容Azure B2C中的KMSI实际上做什么?

最新更新