gpt4 book ai didi

azure 条件访问在指定时间后注销

转载 作者:行者123 更新时间:2023-12-03 04:19:33 24 4
gpt4 key购买 nike

我想为我的网络应用程序设置一个到期时间,以便 1 小时后用户将自动注销。看来azure现在有一个新功能,称为“条件访问”。首先,我必须有一个高级帐户(所以还要更多的钱),其次,我在文档中找不到任何内容来说明如何使用它在指定时间后将某人注销。有人用过这个功能吗?这怎么办?

有人可以帮忙吗?

最佳答案

假设您正在使用 OpenID Connect 和 Cookie 身份验证中间件来保护您的 Web 应用程序,根据您的要求,我假设您可以添加名为 loggedTicks 的自定义声明。并检查OnValidateIdentity下的时间间隔的CookieAuthenticationProvider ,然后针对您的 Web 应用程序和 AAD 显式调用注销操作。这是代码片段,您可以引用:

public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

app.UseCookieAuthentication(new CookieAuthenticationOptions() {
ExpireTimeSpan=TimeSpan.MaxValue,
Provider = new CookieAuthenticationProvider()
{
OnValidateIdentity = ctx => {

var loggedClaim=ctx.Identity.FindFirst("loggedTicks")?.Value;
if (loggedClaim != null)
{
var loggedDateTime = new DateTime(long.Parse(loggedClaim), DateTimeKind.Utc);

if (loggedDateTime.AddHours(1) < DateTime.UtcNow)
{
ctx.RejectIdentity();
ctx.OwinContext.Authentication.SignOut(OpenIdConnectAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType);
}
}
return Task.FromResult(0);
}
}
});

app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
RedirectUri = postLogoutRedirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthenticationFailed = context =>
{
context.HandleResponse();
context.Response.Redirect("/Error?message=" + context.Exception.Message);
return Task.FromResult(0);
},
SecurityTokenValidated = async (x) =>
{
var identity = x.AuthenticationTicket.Identity;

//add a additional claim which represents the current user logged UTC time ticks
identity.AddClaim(new System.Security.Claims.Claim("loggedTicks", DateTime.UtcNow.Ticks.ToString()));

await Task.FromResult(0);
}
}
});
}

关于 azure 条件访问在指定时间后注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50394409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com