Forum Stats

  • 3,768,482 Users
  • 2,252,799 Discussions
  • 7,874,596 Comments

Discussions

oAuth2 security token - query connection

My company has created it's own java api to query a json file database. I have created a class to see if I can connect and query. That works, but it is not secure. It has my username and password in it.

A friend of mine created a python script to connect and query as well, however he is using oAuth2 with a token, and that works. I would like to use the oAuth2 token as well but in java.

Here is part of his code in python.


import requests

from requests import post, auth, exceptions

from json import loads   

import pandas as pd

import time

from io import StringIO


client_id = 'CSI10BIRSTDEM_DEM~OrYZOp7y7aL3-OX__vvOi4tmBKHbabfK3UiI5d-rOEY'

client_secret = 'gETIknwsuCfFqvsHTKLsA79NQzakR1_2UMdJ0b0TlEQnKb9KzI64ytrPikwFSUGMPvVtBNELmU4AO8GV2HiTBQ'

user = 'CSI10BIRSTDEM_DEM#vRzhxJEjwyK5m6LSGfa5UykRbbaVj1KHWan7j0qz61PrAwezkCks0t3nrnSarLvvk5bh25GTIDGVzHj55C139Q'

password = 'cUKHtWFnjNrXJV7xznezG36c2LaNBYTv1nb9WIIsi-dAQBUfjOBGznCxOUOMKiIvYPYmGfnkivd2HV2toAA5uQ'


access_point = 'https://qac-sso.qac.awsdev.infor.com/CSI10BIRSTDEM_DEM/as/token.oauth2'

grant_type = 'password'

headers = {'Content-Type': 'application/x-www-form-urlencoded'}

auth = auth.HTTPBasicAuth(client_id, client_secret)

data = {'grant_type': grant_type,

      'username': user,

      'password': password}

resp = None


try:

  resp = post(access_point, auth=auth, data=data, headers=headers, timeout=5)

except exceptions.ConnectionError:

  pass

  #print('Error')


if resp.status_code == 200:

  resp = loads(resp.text)

  if 'access_token' in resp:

    access_token = resp['access_token']

     

########################


url = 'https://qac-ionapi.qac.awsdev.infor.com/CSI10BIRSTDEM_DEM/IONSERVICES/datalakeapi/v1/compass/jobs'


query = "SELECT TOP 10 * FROM csi_pertot_mst"


response = requests.post(str(url),data = query.encode('utf-8'), headers={'Content-Type':'text/plain','Authorization': 'Bearer {}'.format(access_token)})


if response.status_code == 202:

  json_data = response.json()