我的理解:在Azure应用服务中,您可以通过在Azure门户中设置“Always On”设置将服务设置为基本上不会“入睡”。
虽然这是对服务的一个简单改变,但我试图避免在不使用时不断运行服务,并提高托管服务的每月费用。
我的困境是我运行了一个Azure应用服务,我对Xamarin Forms应用进行了身份验证。在登录过程中,我将OAuth令牌返回给客户端,该客户端设置为在15天后过期(需要很长时间才能进行测试)。
Azure服务运行时一切正常,但如果Azure服务“睡着了”,那么我被迫再次登录 - 这让我相信服务发布后令牌已经丢失了
我的问题是:有没有办法在“入睡”之前将当前令牌存储在Azure表存储(或其他东西)中,然后在服务“唤醒”时从同一存储中拉出来?
我确实找到了以下问题,但无法清楚地了解如何保留持票人令牌: How are bearer tokens stored server-side in Web API 2?
我一直在搜寻高低,清楚地表明如何做到这一点,更不用说如果可能的话。
非常感谢任何帮助。
答案 0 :(得分:1)
你发现How are bearer tokens stored server-side in Web API 2?的答案是正确的。通常,我们会将访问令牌存储在客户端。您可以将它存储在客户端,本地存储,sqlite甚至文件中的任何位置。只是为了确保,您的应用程序可以取回访问令牌。
当您的应用程序向受保护服务器发送HTTP请求时,您将在Authorization
标头中设置访问令牌。
您的服务器一旦收到HTTP请求,它将验证令牌并授权用户。