改进Visual Studio 账户管理体验

[原文发表地址] Improving the Visual Studio Account Management Experience

[原文发表时间] 11/18/2014

对于已经使用多个服务(比如,Visual Studio漫游设置,在服务器资源管理器中访问Azure服务,或者使用Windows 应用商店)在Visual Studio中建立应用程序的用户来说,很可能已经经历了我们称作的“登陆 Whack-A-Mole”, 即在我们最不期待的时候弹出提示。在Visual Studio 2015,我们介绍过一个账户管理器,用以减少Visual Studio需要提示输入凭据的频率,并且在集成开发环境中用户可以轻松的在不同用户账户间切换。

你会看到账户管理器被应用到Visual Studio 2015用户界面的不同地方, 但是账户管理器主要的地方在文件-账户设置。

clip_image001

让我们来深入了解账户管理器的工作原理。

多服务,多用户账户

早前,我们看到在Visual Studio中有两种一般类型的身份验证工作流:

    • 多服务. Azure,Office 365, Visual Studio Online等在线服务单独管理他们的用户身份令牌。 此外,重新输入你的凭据仅刷新这一功能的令牌,保留其他功能未验证。这意味着你登陆的次数随着你使用不同服务的次数增长,即使你是用相同账户登陆的。
    • 多账户.如果你使用多用户账户(比如,工作和家庭或者开发和测试的单独账户),可能会更加复杂,在这些用户账户之间切换需要退出再登陆回来。

Visual Studio 2015 可以帮助这两者。

首先,统一了登陆体验,以便验证一个账户可以访问与该用户账户使用的所有服务。例如,如果你使用你的微软账户登陆到IDE,而此账户又是一个Azure订阅的管理员,Visual Studio 将同时认证你在服务器资源管理器中使用Azure服务。此外,如果你最近对一个服务(例如,Azure订阅)刷新了你的凭据,它们将对所有服务刷新。本声明适用于从新建项目对话框添加应用Insights,或者从新建连接服务对话框添加移动服务或者存储。更好的是,单一登陆功能可适用于整个Visual Studio家族包括Blend。 Visual Studio 管理跨应用访问令牌, 因此一旦你在一个应用验证账户,令牌对于整个应用统一刷新。

clip_image002

第二,我们添加了一个系统为了在Visual Studio中集中管理你的账户,以便你有一个地方查看、添加或者移除IDE中的多账户。你可以在文件菜单下的账户设置对话框查看管理账户。所有在Visual Studio里的账户相关功能使用相同账户管理,即使他们显示在用户界面的不同地方。使用新的用户界面,你能轻松在不同账户之间切换或者添加新账户,正如你使用专线服务如应用Insights或者Azure移动服务 。

重要的注释:Visual Studio不存储你的原始凭据。此关于AAD的快速入门是很好的关于Azure Active Directory的参考,Active Directory Authentication Library (ADAL),适用于为Visual Studio的新账户管理组成部分。简言之应该是这样:当你在Visual Studio登陆账户,正在验证一个基于网络的身份提供者(很可能是Azure Active Directory或者Microsoft账户提供商)。如果验证成功,身份提供程序委派身份验证令牌。Visual Studio 2015 账户管理系统简介方便安全的处理和存储这些授权令牌。

后续改进

我们还没有完成。例如,你将会看到在短短12小时后Visual Studio将会要求你重新验证你的微软账户。我们希望改进这点,但同时,有一些变通方法。例如,如果你创建了一个“工作或学习账户”(原名组织账户)并且使该账户作为你的Azure订阅管理员去访问Azure资源,你将会在Visual Studio中获得比较好的单点登录体验。遗憾的是你不能用一个组织ID登陆到集成开发环境(例如,漫游设置和个性化设置集成开发环境)。我们正在努力解决这个问题。

除了预览,还有更多功能比如团队管理器,Office365和ASP.NET项目创建将会用于新的共享账户存储和管理服务。

我们也计划漫游个人个性化设置用户账户列表(但不包含密码或者身份验证令牌)帮助您在新设备上快速开始。我们也会联系账户选择器以便使跨产品表现更加一致。

我们一如既往的感激您分享在用户之声和通过产品-发送笑脸界面的反馈、建议以及其他任何想法。我们会在几个星期监视这篇文章的评论,但如果你发现了错误最好在联系站点直接记录它或者尝试在John提到的从集成开发环境的发送苦脸界面直接报告一个错误。

谢谢!

Ji Eun Kwon