Python 使用rest api为gitlab用户设置标识
我也在这里发布我的问题。也许任何人都有一个务实的方法来解决这个问题: 目前,我一直忙于在gitlab ce中自动创建用户,向用户添加现有ssh密钥,然后将用户的身份更改为不同的提供商,在我的例子中是atlassian crowd。我试图在创建用户时执行post请求时设置它,方法是将Python 使用rest api为gitlab用户设置标识,python,rest,api,python-requests,gitlab,Python,Rest,Api,Python Requests,Gitlab,我也在这里发布我的问题。也许任何人都有一个务实的方法来解决这个问题: 目前,我一直忙于在gitlab ce中自动创建用户,向用户添加现有ssh密钥,然后将用户的身份更改为不同的提供商,在我的例子中是atlassian crowd。我试图在创建用户时执行post请求时设置它,方法是将{'identies':[{'provider':'crowd','external\u uid':'foobar'}]}添加到我的请求中,但是当用户被正确创建时,标识设置被忽略。请求实际上类似于以下内容,是针对 正如
{'identies':[{'provider':'crowd','external\u uid':'foobar'}]}
添加到我的请求中,但是当用户被正确创建时,标识设置被忽略。请求实际上类似于以下内容,是针对
正如我所说,用户是被创建的,而不是身份。通过API直接设置标识,即在外部系统中设置某个标识以及id,似乎没有实现。这就是我在gitlab.com()上提交问题的原因
我现在正在寻找一种替代方法来解决这个问题。我正在进行不同技术的迁移,我想首先自动化用户管理。由于有两个,手动执行此操作是不可行的
事实上,可以在管理ui中设置用户的身份。单击“创建”按钮时,通过浏览器对其进行检查表明,这是针对的POST请求
内容是url编码的:
utf8:✓
authenticity_token:47yRB038sLQQ7bBP4vYGdVcQzg/8js09h5mUkz5vNYSALAjRqIpAFjYube8VxUlEKChNcrjNmx7s0RW8tDWFqC==
identity[provider]:crowd
identity[extern_uid]:fbar
如您所见,它不是API url,而是ui。我在这里不知道的是真实性标志。它不是管理员的私有访问令牌。它是会话令牌吗
从技术角度看,我正在使用python w/requests来完成这一切。要实现这一点,需要gitlab ce的API提供支持
utf8:✓
authenticity_token:47yRB038sLQQ7bBP4vYGdVcQzg/8js09h5mUkz5vNYSALAjRqIpAFjYube8VxUlEKChNcrjNmx7s0RW8tDWFqC==
identity[provider]:crowd
identity[extern_uid]:fbar