Integrating Gitlab in django project with gitlab api for gitlab authentication and access

Reading Time : ~ .

This is a simple way to integrate gitlab authentication in your django apps.

We can get user verified email id, general information, git lab URL and token from Gitlab API.

These Following steps are needed for Gitlab integration:

    1. creating git lab app
    2. Authenticating user and getting an access token.
    3. Get user information, git lab URL using an access token.

1. Creating Gitlab App

        a. To create an app, Go to your profile and click on applications then create an application on top of a page. 

            Here you can give your application name, redirect URLs then the application will be created.

        b. Now you can get the client id, secret of an application

2. Authenticating user and getting an  access token.
       a. Here We have to create a GET request for asking user permission.

  GET  "http://{{Your GIT_LAB_DOMAIN }}/oauth/authorize?client_id={{ Your GIT_LAB_APP_ID }} &redirect_uri={{ redirect_uri }}&response_type=code"

          GIT_LAB_DOMAIN: your git lab domain,     

          GIT_LAB_APP_ID: your application client id,

         REDIRECT_URI: The URL which you want to redirect after user login and this URL must be set in the

         app registered redirected URLs.

   b. If an user accepts the permissions, then authorization code will be sent to redirected URL.
   c. Then we get an access token from the JSON response with the post request and the following params.
          params = {
                'grant_type': 'authorization_code',
                'client_id': {{ Your Application id }},
                'redirect_uri': {{ Your Redirect }}
                'client_secret': {{ Your GIT_APP_SECRET }},
               'code': request.GET.get('code')
          }

  POST  "http://{{ GIT_LAB_DOMAIN }}/oauth/token"
3. Get user information with get request using access token.
  params = { "access_token": {{ access_token }},}  
  GET  rty = "http://{{ GIT_LAB_DOMAIN }}/api/v3/user"
You can get the user git lab url, picture, email, name, currently sign at, created at etc values. from the JSON response.
    By Posted On
SENIOR DEVELOPER at MICROPYRAMID

Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Extract text with OCR for all image types in python using pytesseract Shirisha Gaddi

Optical Character Recognition(OCR) is the process of electronically extracting text from images or any documents like PDF and reusing it in a variety of ways ...

Continue Reading...
Sendgrid Inbound Email Parsing with django Nikhila Mergu

Using the Inbound parse webhook, we can parse the contents, attachments of an incoming email.

Inbound Parse API follows 3 steps:
1. sending an ...

Continue Reading...
Django - migrating from function based views to class based views Anjaneyulu Batta

The single most significant advantage in Django class-based views is inheritance. On a large project it's likely that we will have lots of similar views. ...

Continue Reading...

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties