【问题标题】:Cache tokens in azure app service authentication (EasyAuth)在 Azure 应用服务身份验证 (EasyAuth) 中缓存令牌
【发布时间】:2021-04-20 16:00:09
【问题描述】:

我正在使用内置身份验证的 Azure 应用服务让用户登录到我的 Web 应用。由于我有一些用户无需身份验证即可访问的页面,因此我在应用服务身份验证配置中允许匿名访问。

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

有没有办法让用户保持登录状态?

我目前在做什么:

点击登录按钮, 将用户定向到 /.auth/login/microsoftaccount,成功登录后,我调用 ./auth/me 以获取用户声明/详细信息,然后登录用户。然后我向https://appname.azurewebsites.net/.auth/login/microsoftaccount 发了一个http 帖子,以验证我从/.auth/me 获得的令牌,并且我还从这个帖子请求中获得了一个会话令牌(我不知道它的用途)。

我使用应用服务设置的自定义标头在后端进行身份验证。 App service auth docs

这是使用应用服务进行身份验证的正确方法吗?如果是这样,有什么方法可以让用户保持登录到应用服务身份验证,而不是在每次打开网站时都要求他们签名。

有没有办法缓存令牌?

【问题讨论】:

    标签: azure azure-active-directory azure-web-app-service azure-appservice easy-auth


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 2020-10-21
      • 2016-07-17
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 2021-01-28
      相关资源
      最近更新 更多