2017-02-06 1 views
0

나는 또한 여기에 내 질문을 게시하고 있습니다. 어쩌면 누구든지이 문제를 해결할 실용적인 방법을 가지고있을 것입니다 :나머지 api를 사용하여 gitlab 사용자의 신원 설정

현재 gitlab-ce에서 사용자를 자동으로 생성하고 기존 ssh 키를 추가 한 다음 다른 제공자로 ID를 변경하면 케이스 atlassian 군중. 내 요청에 { 'identities': [ { 'provider': 'crowd', 'external_uid': 'foobar' } ] }을 추가하여 사용자 생성에 대한 게시물 요청을 할 때 설정하려고했지만 사용자가 올바르게 생성되는 동안 ID 설정이 무시됩니다. 요청은 실제로 사용자가 ID를 생성 것이 아니라, 다음과 같은 내가 말했듯이 http://localhost/api/v3/users

{ 
    "email": "[email protected]", 
    "password": "aol123aol123", 
    "username": "foo.bar", 
    "name": "Foo Bar", 
    "identities": [ 
    { 
     "provider": "crowd", 
     "extern_uid": "fbar" 
    } 
    ] 
} 

에 전송됩니다. API를 통해 ID를 직접 설정하는 것, 즉 외부 시스템의 ID와 함께 제공되는 특정 ID를 설정하는 것은 구현되지 않은 것으로 보입니다. 이것이 내가 gitlab.com (https://gitlab.com/gitlab-org/gitlab-ce/issues/27693)에서 문제를 제기 한 이유입니다.

이 문제를 해결하기위한 대안을 찾고 있습니다. 다른 기술로 마이그레이션을 진행하고 있으며 먼저 사용자 관리를 자동화하고 싶습니다. 몇 가지가 있으므로 수동으로이 작업을 수행하는 것은 불가능합니다.

실제로 admin ui에서 사용자의 신원을 설정할 수 있습니다.

당신이 볼 수 있듯이
utf8:✓ 
authenticity_token:47yRB038sLQQ7bBP4vYGdVcQzg/8js09h5mUkz5vNYSALAjRqIpAFjYube8VxUlEKChNcrjNmx7s0RW8tDWFqC== 
identity[provider]:crowd 
identity[extern_uid]:fbar 

, 그렇지 않은 : 그것은

http://localhost/admin/users/foo.bar/identities

내용에 대한 POST 요청이 있음을 보여 주었다 만들기 버튼을 클릭하면 브라우저를 통해 검사하는 URL 인코딩입니다 API URL은 있지만 Ui. 나에게 알려지지 않은 것은 authenticity_token이다. 관리자의 개인 액세스 토큰이 아닙니다. 세션 토큰입니까?

기술 포인트에서 나는이 모든 것을하기 위해 파이썬 승/요청을 사용하고 있습니다.

답변

0

이것을 달성하려면 gitlab-ce의 API에서 제공하는 sudo 지원이 필요합니다.

관련 문제