本文介绍下如何配置VSTS(visual studio team service,其实就是微软SaaS版的TFS)通过Personal Access Token访问其下的Git代码库。

问题

使用git的时候,每次拉取和推送都需要输入密码是一件挺讨厌的事。
当我们使用github来托管代码时,github提供了几套机制来认证客户端,该配置页面如下图:

github的帮助文档很完善,这里就不展开了,具体参见截图下方小字链接generating SSH keysgenerate a GPG key and add it to your account

如果你的项目是开源项目,放github上没啥问题,如果需要不公开的私有库呢?
我们一般选择微软的VSTS,那么VSTS如何配置类似机制,避免每次都要输入密码?

获取 Personal Access Token

如图,Personal Access Token的配置页面,点击Add

填写描述,选择有效期限和适用哪个账户,选择 scopes,页面拉到底,点击Create Token

这里一定要注意了,图中打码并红色圈住的部分,一定要复制下来保存好,这个token只会在当前显示一次,以后是无法再次从vsts上获取的。

在本机管理 Personal Access Token

好了,我们拿到了Personal Access Token,接下来验证下是否可以正常使用这个token。
在本地打开一个目录,按住Shift键,鼠标右击空白处,选择在此处打开Powershell窗口:

在vsts中找到你的代码库(至少会有个MyFirstProject),并且复制clone地址。在Powershell提示符中输入

git clone https://familysrv.visualstudio.com/MyFirstProject/_git/MyFirstProject

如果出现新窗口要求输入微软账号,可以直接关闭,我们接下来可以在命令行中输入账号和token

如上图,命令行提示输入Password的时候,输入刚才拿到的Token即可。

至此,证明这个token确实是可用的。

可是当我们添加文件,推送上去的时候,还会提示需要输入账号密码!?

请注意,本文示例前面进行git clone的时候有警告:这是一个空库。
所以,首次git push进行推送的时候,需要声明远程分支,例git push orgin master:master

我们应该把这个token存到哪里?

请打开控制面板用户账户管理你的凭据windows凭据

在普通凭据的右侧,点击添加普通凭据,如图进行输入,密码填之前拿到的token即可。

重新打开Powershell,添加或修改文件,拉取,推送

没有再提示需要输入账号密码,搞定!

如果你是非windows系统,VSTS也可以配置SSH keys的方式进行认证,和Github配置方式差不多,具体见本文第二张图片VSTS左侧菜单
SSH public keys

参考

这篇讲了如何设置vsts的Personal Access Token 以及使用 Windows credentials manager 在本机存储这个token:
VSTS Personal access tokens with Git and Visual Studio 2017

这里有详细说明非windows系统如何避免重复输入Github认证密码:
Is there a way to skip password typing when using https:// on GitHub?

[2018-05-27]配置VSTS认证方式使用Personal Access Token的更多相关文章

  1. jenkins之配置git认证方式

    在使用jenkins构建时候需要从git下拉代码,需要配置认证方式 http拉取代码 配置用户名和密码认证 添加认证 设置用户名和密码 git认证 设置私钥认证

  2. Django 配置JWT认证方式

    1. 安装 rest_framework + djangorestframework_simplejwt 安装djangorestframework_simplejwt :pip install dj ...

  3. cas sso单点登录系列3_cas-server端配置认证方式实践(数据源+自定义java类认证)

    转:http://blog.csdn.net/ae6623/article/details/8851801 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2 ...

  4. SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证)

    落雨 cas 单点登录 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2.配置Oracle的jdbc数据源,通过spring动态查询数据库 3.配置orac ...

  5. 修改CAS源码是的基于DB的认证方式配置更灵活

    最近在做CAS配置的时候,遇到了数据源不提供密码等数据的情况下,怎样实现密码输入认证呢? 第一步:新建Java项目,根据假面算法生成CAS加密工具 出于保密需要不提供自定义的加密工具,在您的实际项目中 ...

  6. ssh 服务器之间公钥认证方式的配置

    前言 项目中需要编写脚本在服务器之间上传或者下载文件,但没有相关服务器来测试脚本,于是就着手安装两台server,然后用ssh的相关命令去配置server之间公钥认证登录. 步骤 1. 在VM Box ...

  7. spring jwt springboot RESTful API认证方式

    RESTful API认证方式 一般来讲,对于RESTful API都会有认证(Authentication)和授权(Authorization)过程,保证API的安全性. Authenticatio ...

  8. 关于 RESTFUL API 安全认证方式的一些总结

    常用认证方式 在之前的文章REST API 安全设计指南与使用 AngularJS & NodeJS 实现基于 token 的认证应用两篇文章中,[译]web权限验证方法说明中也详细介绍,一般 ...

  9. thinkphp 比RBAC更好的权限认证方式(Auth类认证)

    Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 . RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了, ...

随机推荐

  1. winform Loading效果

    做winform项目时,有可能用到异步耗时加载数据啥的,这个时候就需要我们封装一个正在加载的效果.下面是实现思路: 步骤一:把当前form界面使用句柄的方式截图出一个图片,这个图片会在下面用到,使用句 ...

  2. PS中把图片白色背景变成透明的方法

    用魔术橡皮擦擦去白色(调整容差,取消连续,点选白色部分),保存成png格式

  3. java基础篇4之注解

    1 注解的应用(jdk1.5的新特性) 一个注解相当于一个特殊的类 例子: @SuppressWarning("deprecation") @Deprecated @Overrid ...

  4. zabbix学习系列之触发器

    触发器的简介 监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正式 用于为监控项所收集的数据定义阈值 每一个触发器 ...

  5. 2016.7.14 generator基于注解和基于xml自动生成代码的区别

    1.generator配置文件generatorConfig.xml的区别 2.生成代码的区别 注:二者的实体类都一样. (1)基于XML 生成的文件有: 后面省略. 也就是说,基于xml的方式,是要 ...

  6. Android4.4电池管理

    一.概述 Android4.4的电池管理功能用于管理电池的充.放电功能. 整个电池管理的部分包含Linux电池驱动.Android电池服务.电池属性和參数.电池曲线优化四个部分. Linux电池驱动用 ...

  7. 接口测试 rest-assured 使用指南

    转自:https://testerhome.com/topics/7060 原文:https://github.com/rest-assured/rest-assured/wiki/Usage本文gi ...

  8. Codeforces Round #277.5 (Div. 2)(C题)

    C. Given Length and Sum of Digits... time limit per test 1 second memory limit per test 256 megabyte ...

  9. 微信小程序 - 答题进度条

    关于进度条的话,我是使用官方原生的progress的. 关于进度progress接受保留2位小数(从后端获取到平均值,再item循环出来) js wxml

  10. Shell脚本之:case

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构. case语句的语法 case 值 in 模式1) command1 command2 co ...