我正在开发一个保管箱 asp.net 应用程序,它至少在 localhost 模式下工作。但是我面临一个问题,我希望仅在本地主机测试期间并且不会(不能)在生产中发生。这有点难以解释,所以我将逐步描述它。
1)浏览器没有运行,我在调试器中启动了“登录会员目标页面”。它要求 Dropbox 提供登录和权限。此时,在我的 Oauth 派生类中,我将带有访问令牌和机密的保管箱对象存储在会话变量中。
2)在我实际的“登录”页面中,我从会话中提取对象并开始使用保管箱,它工作正常。
3) 现在假设我停止从 Visual Studio 2012 进行调试。对代码进行一些修改。现在我重新开始。这次浏览器已经登录到 Dropbox 并且目标页面显示为已登录。我没有看到来自 Dropbox 的“允许”提示。但是现在没有会话变量来提取我的下拉框对象,因为这是一个新会话。但对于 Dropbox,它是已经登录的会话。
我想确认这种情况只能在 localhost 运行期间发生,而不能在实际生产应用程序中发生,因为它总是来自浏览器中的网站,该网站将拥有自己的会话。或者它会发生吗?在这种情况下有什么解决方案。
另一个疑问是,如果浏览器打开但应用程序正在启动新会话,为什么下次保管箱不要求允许提示。它必须从某个地方获取相同的访问令牌和秘密。从哪里?