Questions tagged «authentication»

身份验证是验证身份的过程。

5
ASP.NET Core中基于令牌的身份验证(刷新)
我正在使用ASP.NET Core应用程序。我正在尝试实施基于令牌的身份验证,但无法弄清楚如何使用新的安全系统。 我的情况: 客户端请求令牌。我的服务器应授权用户并返回access_token,客户端将在随后的请求中使用它。 这是有关实现我真正需要的两篇很棒的文章: 使用ASP.NET Web API 2,Owin和身份的基于令牌的身份验证 使用JSON Web令牌 问题是-对我来说,如何在ASP.NET Core中执行相同的操作并不明显。 我的问题是:如何配置ASP.NET Core Web Api应用程序以与基于令牌的身份验证一起使用?我应该朝哪个方向前进?您是否撰写了有关最新版本的文章,或者知道在哪里可以找到这些文章? 谢谢!

3
在asp.net core 3.1中基于租户的注册身份验证方案
当前,我已经使用外部登录提供程序创建了Identity Server 4 Web应用程序,该应用程序具有默认客户端ID和机密。但是我的目标是基于租户注册身份验证提供程序,例如Azure,Google,Facebook。 我使用了SaasKit多租户程序集,在这里我尝试了app.usepertenant()中间件。但是UseGoogleAuthentication()方法已过时,因此我无法使用此usepertenant中间件实现多租户身份验证。 当前代码, services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); 预期的代码如下所示, var authentication = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme); if (tenant.hasMicrosoft) { authentication.AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); } if (tenant.hasGoogle) { authentication.AddGoogle(option => { option.ClientId = …

6
当用户使计算机进入睡眠状态时,将其从网站注销
这是一个奇怪的问题。我们有一个Laravel网站,在所说的网站上,每个用户都有一个计时器,在启动之前,他们会在15分钟内处于非活动状态。 我们通过一个React组件中位于页面上的计时器来执行此操作,它可以按期望的方式工作,但是现在我们遇到了一个新问题:如果用户登录并关闭笔记本电脑的盖子,则网站应该启动它们。银行这样做,学校和大学这样做,政府场所也这样做。因此有可能,只是不确定如何。 我们使用laravel-websockets库和Echo 来使用Web套接字。我希望看到的是: 关闭笔记本电脑启动后,您将进入登录屏幕。因此,下次打开笔记本电脑并登录时,会在登录屏幕上看到浏览器。它并不需要很快发生,但是我们需要一种方法来将一些内容发送到前端,基本上告诉他们刷新页面,一旦会话被终止,我们将会话生存时间设置为15分钟。 有人在其他类似问题中提出了建议: 创建一个自定义的网络套接字处理程序 将会话cookie(在浏览器中)与后端的用户cookie进行比较。 要在前端运行计时器(我们这样做,当您合上笔记本电脑盖时它会停止) 最受欢迎的一种似乎是使用网络套接字,侦听用户断开连接然后再启动它们,这很好,而且一切正常,但是如何将请求发送到已暂停然后再启动的浏览器? 我发现了requestIdleCallback()但是,如果我已经在该站点上安装了心跳计时器,那么我不希望这就是我想要的。它也不适用于所有浏览器。 我对如何完成此操作非常迷失,我可以举的例子是: 登录到您的银行,使计算机进入睡眠状态,等待15-20分钟,唤醒计算机,然后登录,然后在登录屏幕上看到您的银行已将您带入。那就是我想要的。但是我不知道该怎么做到。 您不能从后端将事件发送到“正在休眠”的浏览器,虽然是的,这必须是后端解决方案,但是如何更新前端,以便重新唤醒笔记本电脑时它们出现在注销屏幕上还是电脑?

1
使用Spring Boot 2和Spring Security 5进行多重身份验证
我想在Angular&Spring应用程序中添加具有TOTP软令牌的多因素身份验证,同时使所有内容尽可能接近Spring Boot Security Starter的默认值。 令牌验证在本地进行(使用aerogear-otp-java库),没有第三方API提供程序。 为用户设置令牌是可行的,但无法通过利用Spring Security Authentication Manager / Providers来验证令牌。 TL; DR 将额外的AuthenticationProvider集成到Spring Boot Security Starter配置的系统中的正式方法是什么? 建议采用什么方法来防止重放攻击? 长版 该API具有一个端点/auth/token,前端可以通过提供用户名和密码从该端点获取JWT令牌。该响应还包括一个身份验证状态,可以为AUTHENTICATED或PRE_AUTHENTICATED_MFA_REQUIRED。 如果用户需要MFA,则使用授予的单个授权PRE_AUTHENTICATED_MFA_REQUIRED和5分钟的到期时间来颁发令牌。这使用户可以访问端点/auth/mfa-token,在端点上可以从其Authenticator应用程序提供TOTP代码,并获取经过完全身份验证的令牌来访问站点。 提供者和令牌 我创建了MfaAuthenticationProvider实现AuthenticationProvider以下内容的自定义: @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { // validate the OTP code } @Override public boolean supports(Class<?> authentication) { return OneTimePasswordAuthenticationToken.class.isAssignableFrom(authentication); } 还有一个OneTimePasswordAuthenticationToken扩展AbstractAuthenticationToken名,用于保存用户名(取自签名的JWT)和OTP代码。 设定档 我有我的自定义WebSecurityConfigurerAdapter,我AuthenticationProvider通过添加我的自定义http.authenticationProvider()。根据JavaDoc,这似乎是正确的位置: 允许添加一个额外的AuthenticationProvider来使用 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.