当前位置: 首页 > 知识库问答 >
问题:

为什么Azure AD(或其他OIDC Idp)在注销后要求输入用户凭据进行登录?

宰父霖
2023-03-14

我在我的应用程序中通过extrenal IDP开发了一个身份验证。虽然我支持使用OpenId连接协议的两个IDP:Azure、AD和Okta。我的登录页面有用于输入用户凭据的小部件(针对内置用户和从Active Directory导入的域用户)和两个按钮:“使用Microsoft登录”和“使用OKTA登录”。

共有1个答案

闻人昕
2023-03-14

用户被签出标识提供程序的一个可能原因是,当您调用signout时,代码故意这样做。

例如,如果您正在调用:

HttpContext.GetOwinContext().Authentication.SignOut(AuthTypes.Okta, AuthTypes.Cookies);

您显式地表示,您希望触发对authtypes.cookies(这可能会清除应用程序自己的会话cookies)和authtypes.Okta(这可能包括重定向到Okta以结束会话并清除那里的cookies)的注销。

HttpContext.GetOwinContext().Authentication.SignOut(AuthTypes.Cookies);

之后,当用户再次访问应用程序时,应用程序将不会考虑用户已登录(因为当用户的浏览器访问应用程序时,它将不会显示任何会话cookie)。但是,如果用户再次被发送到Okta或Azure AD,标识提供者为该用户提供的自己的会话cookie仍然存在,并且他们将能够在没有额外提示的情况下进行SSO。

注意:我对authtypes.oktaauthtypes.cookies的配置方式做了一些假设,因为问题中没有包括这一点。

 类似资料:
  • 问题内容: 在Pro Spring 3丛书的第4章-Spring中的IOC和DI简介-第59页中的“ Setter注入与构造方法注入”部分中,一段说 包括Spring,提供了一种机制来确保在使用Setter Injection时定义了所有依赖关系,但是通过使用Constructor Injection,你可以以与容器无关的方式声明对依赖关系的要求。” 你能举例说明一下吗 问题答案: 将必需的依赖项

  • 我需要使用登录的用户凭据通过Jenkins UI执行一些Jenkins作业,例如“发布到生产”。原因是,我们有单独的支持团队成员,他们可以访问生产框,而不是开发团队成员。因此,为了将任何代码库部署到生产环境中,所有Windows部署命令(例如,创建、更新文件、文件夹等)都需要使用有权访问生产环境的特定用户凭据来运行。因此,即使是没有生产箱访问权限但是Jenkins管理员的开发团队成员,执行相同的作

  • 我想也许我可以使用实时数据库,但后来我不知道如何从实时数据库中匹配用户和他们各自的详细信息。请给我一些如何做这件事的想法。

  • 我创建了以下类,用于输入用户的年龄,然后在控制台中显示适当的信息。 运行此程序时,控制台会询问“请输入您的年龄:”

  • 问题内容: 我指的是此处提出的问题,并使用作者代码示例,现在我的问题是 作者为什么要使用,真的有必要吗,因为syncedMap始终会确保没有两个线程试图对其进行操作,那么为什么需要在该地图本身上进行操作呢? 非常感谢您的解释。 问题答案: 为什么我们需要对其本身进行同步? 您可能需要在一个已经同步的集合上进行同步,因为您正在对该集合执行两个操作-在您的示例中,是a 然后是a。您试图在 _调用_集合

  • 如何登入/注销 若要使用此机能,可能需先更新系统软件。 要进入(PlayStation®Store)在线购物或使用(账户管理)时,需先登入PlayStation®Network的账户。 如何登入 1. 进入主选单的(PlayStation®Netrowk)后,选择(账户管理)或(PlayStation®Store)。 2. 输入登入ID(电子邮件地址)与密码。 输入新建(PlayStation®N