3.2. Autenticação em Python

3.2. Autenticação em Python

1 - Crie um arquivo de configuração 'settings.json' contendo as informações do cliente, scopes, redirect e os endpoints do autorizador e da api:

{ "issuer": "https://auth.plugntrade.com.br/PnTAuthorizationServerProvider", "api_endpoint": "https://webbrokerhml.plugntrade.com.br:8080/Robot/robothub", "scope": "robot_signalr_api", "client_id": meu_client_id, "redirect_uri": "http://localhost:4200/callback" } }

 

2 - Crie um cliente com as configurações do arquivo settings.json:

_config = Config('settings.json').load_config() _client = Client(_config)

 

3 - Monte a url para login:

scopes = _client.config['scope'] state = tools.generate_random_string() session['state'] = state session['code_verifier'] = code_verifier = tools.generate_random_string(100) session["flow"] = "code" nonce = tools.generate_random_string() session["nonce"] = nonce request_args = {'scope': scope, 'response_type': "code", 'client_id': self.config['client_id'], 'state': state, 'code_challenge': code_challenge, 'code_challenge_method': "S256", 'redirect_uri': self.config.get('redirect_uri'), 'nonce': nonce} delimiter = "?" if self.config['authorization_endpoint'].find("?") < 0 else "&" login_url = "%s%s%s" % (self.config['authorization_endpoint'], delimiter, urlencode(request_args)) print("Redirect to %s" % login_url)

 

Uma vez na nossa tela de login, digite usuário, senha e selecione a corretora “SIMULACAO”:

image-20250609-181921.png
Tela de autenticação de usuário no ambiente de simulação PNT

Clicando no botão de Login, com as credenciais válidas, o usuário será redirecionado à página definida como "redirect_uri" no arquivo 'settings.json'. Sendo assim, o usuário terá acesso a um access token que lhe permitirá iniciar a conexão com o nossa API SignalR WebBroker.

 

4 - Obtenção do access token:

token_data = _client.get_token(request.args['code'], session["code_verifier"].decode()) user = UserSession() if 'access_token' in token_data: user.access_token = token_data['access_token']

 

Plug and Trade Sistemas