在azure应用服务认证(EasyAuth)中缓存令牌



我使用azure应用程序服务内置的身份验证来登录用户到我的web应用程序。因为我有一些页面,用户可以访问没有身份验证,我已经允许匿名访问在应用程序服务认证配置。

在当前会话中按预期工作。但是当用户关闭浏览器或打开一个新窗口时,身份验证就丢失了。用户需要重新登录。

是否有办法保持用户登录?

我现在在做什么:

登录按钮点击,引导用户到/。auth/login/microsoftaccount,登录成功后调用。/auth/me获取用户声明/详细信息,然后登录用户。然后,我向https://appname.azurewebsites.net/.auth/login/microsoftaccount发送一个http post,以验证从/获得的令牌。auth/me和我也从这个post请求中获得一个会话令牌(我不知道该用它来做什么)。

我在后端使用应用服务设置的自定义报头进行身份验证。应用服务授权文档

这是使用app service进行身份验证的正确方法吗?如果是这样,我们是否有办法让用户登录到应用服务授权,而不是每次打开网站都要求他们签名?

是否有办法缓存令牌?

正常您需要在关闭浏览器或打开新窗口后重新登录,因为会话的生命周期是从打开窗口到关闭窗口。

你可以考虑使用cookie来协调会话. 会话在服务器端,我们看不到它,但我们可以设置超时值。Cookie在客户端,我们可以保存一些认证信息来保持登录,但这是不安全的。

最新更新