cookies - ADFS 4.0 禁用浏览器 cookie
问题描述
我正在使用 ADFS 4.0 使用 OpenId Connect / OAuth2 流对我的移动应用程序进行身份验证。基本上,当我登录我的应用程序时,我的移动应用程序会打开一个浏览器来启动流程。每当我从应用程序中注销时,我都需要触发 ADFS 注销页面以清除 cookie 并重定向回应用程序。
我遇到的问题是,当我通过 ADFS 成功进行身份验证时,我需要在我的 API 中为有时会失败的用户执行一些用户验证。如果验证失败,会话 cookie 将保留在移动设备浏览器中,因此不再提示用户输入凭据,因此他陷入无法再次登录应用程序的循环中。我什至不需要将会话 cookie 存储到移动设备浏览器中,因为我使用访问和刷新令牌来处理身份验证后的流程。
我已将我的应用程序配置为 ADFS 中的本机应用程序/Web API。有什么方法可以禁用将 cookie 保存在移动设备浏览器中,或者有没有其他方法可以解决这个问题?
解决方案
您是否使用授权码授予流程?如果是,您可以prompt
在授权请求中使用参数。如本文档中有关提示的解释,使用prompt=select_account
,用户将被迫选择当前签名帐户或选择登录另一个帐户,或者使用prompt=login
,用户必须重新身份验证...使用这些值prompt
,您将不会“陷入循环,他无法再次登录应用程序”
推荐阅读
- html - 悬停时的CSS动画文本颜色不起作用
- javascript - React - 使用 Jest 进行测试 - TypeError:无法读取未定义的属性“销毁”
- javascript - 在 Reactjs 中更改行悬停图像
- javascript - 在使用数据之前等待反应状态/道具更新?
- javascript - 如何在 React 中获取子源代码?
- javascript - 在JS中取消嵌套对象数组
- android - 如何去除工具栏和tablayout之间的阴影?
- flask - 在 Flask 上重新加载时如何阻止数据重新提交?
- vue.js - 如何在 nativescipt-vue 中使用特定于平台的 SCSS?
- r - 替换R中列中的重复元素