GitLab API - How to get private_token using GET with session parameter?
gitlab, gitlab-api
Solution
You need to POST the data as stated in the api (http://api.gitlab.org/session.html).
Be aware that if you do this action on a http port (instead of using https) that the password is send in plain text to the server.
Problem
I am using GitLab API v3 to do some operations on my private installation. Using private_token in GET URL is working fine. e.g. ``` GET http://git.example.com/api/v3/projects?=private_token=xyz123 ``` But in order to make this possible, you need a private_token. There is one sure way to get it - from your account settings. But I want my users to use their email id/ login id and password to retrieve the private key and use it from there for rest of the operations. I used following GET url and it is doing nothing for me: ``` GET http://git.example.com/api/v3/session?login=xyzuser&password=xyzpassword ``` Ideally as per GitLab documentation, I should get a JSON as follows - ``` { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "private_token": "dd34asd13as", "blocked": false, "created_at": "2012-05-23T08:00:58Z", "bio": null, "skype": "", "linkedin": "", "twitter": "", "dark_scheme": false, "theme_id": 1, "is_admin": false, "can_create_group" : true, "can_create_team" : true, "can_create_project" : true } ``` If I get this, I can get private_token and work from there. What am I doing wrong?