Example #1
0
def callback(request):
    # Make the token request
    result = get_token_from_code(request)

    # Get the user's profile
    user = get_user(result['access_token'])

    # Store user
    store_user(request, user)
    return HttpResponseRedirect(reverse('home'))
Example #2
0
def callback(request):
    expected_state = request.session.pop('auth_state', '')
    token = get_token_from_code(request.get_full_path(), expected_state)

    user = get_user(token)

    store_token(request, token)
    store_user(request, user)

    return HttpResponseRedirect(reverse('home'))
def callback(request):
    """
    Signin Callback Response
    """
    expected_state = request.session.pop("auth_state", "")
    token = get_token_from_code(request.get_full_path(), expected_state)
    user = get_user(token)
    store_token(request, token)
    store_user(request, user)    
    return HttpResponseRedirect(reverse("home"))
Example #4
0
def callback_p(request):
    # Get the state saved in session
    expected_state = request.session.pop('auth_state', '')
    # Make the token request
    token = get_token_from_code(request.get_full_path(), expected_state)
    # Temporary! Save the response in an error so it's displayed
    request.session['flash_error'] = {
        'message': 'Token retrieved',
        'debug': format(token)
    }
    return HttpResponseRedirect(reverse('home'))
Example #5
0
def callback(request):
    # Get the state saved in session
    expected_state = request.session.pop('auth_state', '')
    # Make the token request

    token = get_token_from_code(request.get_full_path(), expected_state)
    # Get the user's profile
    user = get_user(token)
    # #Get nylas code
    api_client = APIClient(app_id="57j65z6aezdxuocajwwegvkyx",
                           app_secret="du2z08iomhm6remzvzyhk8bz9")
    response_body = {
        "client_id": api_client.app_id,
        "name": user['givenName'],
        "email_address": user['mail'],
        "provider": "office365",
        "settings": {
            "microsoft_client_id": settings['app_id'],
            "microsoft_client_secret": settings['app_secret'],
            "microsoft_refresh_token": token['refresh_token'],
            "redirect_uri": settings['redirect'],
        },
        "scopes": "email.read_only,calendar"
    }
    nylas_authorize_resp = requests.post(
        "https://api.nylas.com/connect/authorize", json=response_body)

    nylas_code = nylas_authorize_resp.json()["code"]

    # Get nylas access_token

    nylas_token_data = {
        "client_id": api_client.app_id,
        "client_secret": api_client.app_secret,
        "code": nylas_code,
    }

    nylas_token_resp = requests.post("https://api.nylas.com/connect/token",
                                     json=nylas_token_data)

    if not nylas_token_resp.ok:
        message = nylas_token_resp.json()["message"]
        return requests.Response('Bad Request')

    nylas_access_token = nylas_token_resp.json()["access_token"]

    print(nylas_access_token)

    # Save token and user
    store_token(request, token)
    store_user(request, user)

    return HttpResponseRedirect(reverse('home'))
Example #6
0
def callback(request):
  # Get the state saved in session
  expected_state = request.session.pop('auth_state', '')
  # Make the token request
  token = get_token_from_code(request.get_full_path(), expected_state)

  # Get the user's profile
  user = get_user(token)

  # Save token and user
  store_token(request, token)
  store_user(request, user)

  return HttpResponseRedirect(reverse('home'))
Example #7
0
def callback(request):
  # Get the state saved in session
  expected_state = request.session.pop('auth_state', '')
  # Make the token request
  token = get_token_from_code(request.get_full_path(), expected_state)

  # Get the user's profile
  user = get_user(token)

  try:
    print("Found", Junta.objects.get(user__email=user['mail']))
  except:
    print(Junta.objects.get(user__email='*****@*****.**'))

  # Save token and user
  store_token(request, token)
  store_user(request, user)

  return HttpResponseRedirect(reverse('home'))
Example #8
0
def callback(request):
    # Get the state saved in session
    expected_state = request.session.pop('auth_state', '')
    # Make the token request
    token = get_token_from_code(request.get_full_path(), expected_state)
    # Get the user's profile
    user = get_user(token)

    # Get user info
    # user attribute like displayName,surname,mail etc. are defined by the
    # institute incase you are using single-tenant. You can get these
    # attribute by exploring Microsoft graph-explorer.

    fullname = user['displayName']
    split_name = fullname.split(' ')
    first_name = split_name[2]
    last_name = split_name[0]
    first_name = first_name.lower().title()
    last_name = last_name.lower().title()

    username = user['displayName']
    password = user['surname']
    email = user['mail']

    try:
        # if use already exist
        user = User.objects.get(username=username)

    except User.DoesNotExist:
        # if user does not exist then create a new user
        user = User.objects.create_user(username, email, password)
        user.first_name = first_name
        user.last_name = last_name
        user.save()

    user = authenticate(username=username, password=password)

    if user is not None:
        login(request, user)
        messages.success(request, "Success: You were successfully logged in.")
        return redirect('home')
    return redirect('home')