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

sp.net-Azure AD身份验证-请求。经过一段时间(约1小时)后,Is验证设置为false,并要求用户再次选择帐户

蒋波光
2023-03-14

我已经检查了网站上的所有细节。配置文件,并对其进行了正确配置。

public async Task SignIn()
    {
        if (!Request.IsAuthenticated)
        {
            HttpContext.GetOwinContext().Authentication.Challenge(
                new AuthenticationProperties { RedirectUri = "/" },
                OpenIdConnectAuthenticationDefaults.AuthenticationType);
        }
 }

也可以尝试在类似问题中找到一些解决方案,但对我不起作用。

要求未经验证总是错误的

<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>
</system.webServer>

我遵循Azurehttps://docs.microsoft.com/en-us/azure/active-directory/develop/sample-v2-code(Web应用程序-Asp.net)的代码示例

https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/tree/master/WebApp

在此处输入图像描述

共有1个答案

上官斌
2023-03-14

如果我的理解是正确的,那么您似乎正在尝试调用api。调用api需要访问令牌,并且可以刷新。请在门户身份验证中选择访问令牌和id令牌。

ID令牌是供应用程序使用的。它包含声明,您可以验证这些声明来验证最终用户,并且从那时起一次性使用。访问令牌是用于授权的。它旨在针对受保护的资源(例如:-受OAuth 2.0令牌保护的应用编程接口)使用。

访问令牌的有效期为1小时,刷新令牌的有效期为14天。Azure AD中ID令牌的过期时间为1小时。只要与AAD的用户会话处于活动状态,获取令牌沉默方法将能够续订idTokens。但是,如果AAD会话过期,令牌续订将导致失败。您需要使用交互式调用来处理失败,该调用提示用户再次登录。请检查此项

参考资料:

  1. OpenID Connect中ID令牌到期时间的意图?-堆栈溢出
  2. 如何使用Active Directory存储AcquireTokenAsync中接收的令牌-堆栈溢出
  3. 可配置的生命周期
 类似资料:
  • 经过身份验证的请求可用于获取授权代码令牌,以访问系统中的所有者资源。 对授权端点发出的请求会导致用户身份验证,并在向授权端点发送请求时提供明确的凭据。 经过身份验证的请求包含以下参数 - response_type - 这是一个必需参数,用于将值设置为'code',用于请求授权代码。 如果授权请求中没有'response_ type'参数,则授权服务器返回错误响应。 由于无效或不匹配的重定向URI

  • 问题内容: 未验证用户身份时如何处理ajax请求? 有人进入页面,留出一个小时的空间,返回,然后使用jQuery()在通过ajax的页面上添加评论。由于未通过身份验证,因此方法返回RedirectToRoute结果(重定向到登录页面)。你用它做什么?您如何在客户端处理它,以及如何在控制器中处理它? 问题答案: 编辑: 我很久以前就写了以上答案,现在我认为发送403不是正确的方法。403的含义略有不

  • 在我的shiro.ini中,我配置了两个领域,即LDAP和JDBC 但我无法设置身份验证请求超时。 ConfigurationException:com.bc.xyz.auth.EFGLDAPRealm类型的对象不存在属性“连接超时”。在org.apache.shiro.config.reflectionBuilder.istypedProperty(reflectionBuilder.java:

  • 我试图得到一个API查询到python。命令行 给出一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python中调用它,这样我就可以循环使用不同的ID并分析输出。有什么想法吗?在需要身份验证之前,我已经使用urllib2完成了这项工作。我还查看了requests模块,但不知道如何实现。 非常感谢。

  • 但是这个配置的问题是我只能以用户Euclid的身份登录。但我想作为每一个可用的用户登录。 但是对于另一个配置,我会在日志中得到这样的消息,即找到了该用户,但已经发生了驱逐。 2017-04-20 09:36:16]ldap_driver.debug:ldap_search(dc=example,dc=com,(&(&(objectclass=person))(UID=einstein)),[arr

  • 我已经在Spring启动中启用了超文本传输协议基本身份验证。从邮递员打来电话时,我看到了奇怪的结果 自定义用户详情 对于我第一次执行请求,它期望正确的凭据。在我输入正确的凭据后,我得到了结果。但是当我在没有凭据或不同密码的情况下尝试相同的请求时,我不会得到401错误。 只有当我更改用户名时,才会出现401错误。 我的API需要针对每个请求进行验证。 我是不是做错了什么。