如何让我的本地 python 应用程序忘记其 Azure 凭据以便我可以进行新的交互式登录?
How do I get my local python app to forget its Azure credentials so I can do a new interactive login?
我有两套或三套用于工作、工作管理员和个人的 Azure 凭据。今天早上,我在做一些本地开发时,在交互式登录时点击了错误的登录凭据。我的本地开发应用程序现在有一个身份 me@company.com,当我需要我的身份 实际上 是 我@admin.com。因为我点击了错误的身份,我的应用程序立即开始出现明显的授权错误。
我现在的实现非常天真,我依靠 Python Azure SDK 来了解何时需要登录,并在我这边没有任何显式代码的情况下执行该登录。到目前为止,这非常有效,能够进行交互式登录,同时在部署时使用 Azure 提供的凭据。
如何让我的本地开发应用程序忘记它拥有的身份并提示我执行新的交互式登录?
我尝试过的事情:
- 关闭应用程序并重新打开。凭证缓存在某处,我收集到,重新启动应用程序无效。
- 搜索 Azure 文档。我可能不知道这个神奇的词,因此许多搜索结果都与用户登录我的应用程序的身份验证有关,这并不相关。
az logout
似乎没有更改我的应用为其凭据令牌使用的任何缓存。
- 切换python 虚拟环境。我想也许凭证会存储在特定于这个 azure-sdk 库实例的地方,但没有骰子。
- 正在淘azure.identitypython包。我收集到可能涉及此程序包,但看不到如何找到并销毁凭据缓存,或任何注销方式。
- 正在删除
~/.azure
。 python 代码继续使用之前的相同凭据。 ~/.azure
必须用于 az
cli,而不是 SDK。
Python 垃圾收集器 提供对收集器找到但无法释放的无法访问的对象的访问。由于收集器补充了 Python 中已经使用的引用计数,如果您确定您的程序不会创建引用循环,则可以禁用收集器。参考 here
您可以使用 weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection 免费销毁所指对象并将其内存重新用于其他用途。但是,在对象被销毁之前,弱引用可能 return 对象,即使没有对它的强引用也是如此。
使用弱引用请参考这里reference 1 & reference 2
找到了! AzureML SDK 似乎将身份验证凭据存储在 ~/.azureml/auth/
.
中
删除 ~/.azureml
目录(它似乎没有任何其他内容)就可以了。
我有两套或三套用于工作、工作管理员和个人的 Azure 凭据。今天早上,我在做一些本地开发时,在交互式登录时点击了错误的登录凭据。我的本地开发应用程序现在有一个身份 me@company.com,当我需要我的身份 实际上 是 我@admin.com。因为我点击了错误的身份,我的应用程序立即开始出现明显的授权错误。
我现在的实现非常天真,我依靠 Python Azure SDK 来了解何时需要登录,并在我这边没有任何显式代码的情况下执行该登录。到目前为止,这非常有效,能够进行交互式登录,同时在部署时使用 Azure 提供的凭据。
如何让我的本地开发应用程序忘记它拥有的身份并提示我执行新的交互式登录?
我尝试过的事情:
- 关闭应用程序并重新打开。凭证缓存在某处,我收集到,重新启动应用程序无效。
- 搜索 Azure 文档。我可能不知道这个神奇的词,因此许多搜索结果都与用户登录我的应用程序的身份验证有关,这并不相关。
az logout
似乎没有更改我的应用为其凭据令牌使用的任何缓存。- 切换python 虚拟环境。我想也许凭证会存储在特定于这个 azure-sdk 库实例的地方,但没有骰子。
- 正在淘azure.identitypython包。我收集到可能涉及此程序包,但看不到如何找到并销毁凭据缓存,或任何注销方式。
- 正在删除
~/.azure
。 python 代码继续使用之前的相同凭据。~/.azure
必须用于az
cli,而不是 SDK。
Python 垃圾收集器 提供对收集器找到但无法释放的无法访问的对象的访问。由于收集器补充了 Python 中已经使用的引用计数,如果您确定您的程序不会创建引用循环,则可以禁用收集器。参考 here
您可以使用 weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection 免费销毁所指对象并将其内存重新用于其他用途。但是,在对象被销毁之前,弱引用可能 return 对象,即使没有对它的强引用也是如此。
使用弱引用请参考这里reference 1 & reference 2
找到了! AzureML SDK 似乎将身份验证凭据存储在 ~/.azureml/auth/
.
删除 ~/.azureml
目录(它似乎没有任何其他内容)就可以了。