Exemplo de Python OAuth2

Exemplo de Python OAuth2

O OAuth2 é um protocolo usado na linguagem Python para fornecer a funcionalidade da comunicação cliente-servidor. É usado para trocar alguns dados entre cliente e servidor por meio de autorização. O usuário primeiro se autorizaria do servidor e receberia o token dele. O servidor fornecerá os dados do usuário a ele. Então, neste guia, forneceremos uma breve explicação de Python Oauth2 no Ubuntu 20.04 Sistema.

O pacote "pip" é um pré -requisito para o pacote Python. Sem ele, o Python não será instalado no seu sistema Linux. Antes de instalar o Python versão 3 no seu sistema, verifique se você já tem o pacote "PIP" configurado. Caso contrário, use o comando abaixo em seu shell para fazê -lo.

$ sudo apt install python3 -pip

A versão 3 é a mais recente; é por isso que é recomendado. Agora, para instalar a versão mais recente do Python, experimente o comando mostrado na imagem abaixo. Toque na tecla "Enter" depois de escrever a linha de comando. Pode pedir que você insira a senha da conta raiz. Escreva sua senha raiz e pressione "Enter". Ele começará a instalar o Python3 e concluí -lo em alguns segundos.

$ sudo apt install python3

Agora, precisamos de algum editor de código também. Então, estamos usando o editor "nano". Se você não tiver um, tente obtê-lo com o comando abaixo estatado. Você também pode usar o editor "vim".

$ sudo apt install nano

Depois de termos feito com os pré -requisitos, você deve ter instalado o pacote Python "OAuth2" em seu sistema também. Sem a instalação do pacote para a API de autorização, não podemos fazer nosso código funcionar. Portanto, instale a API OAuth2 Python com a ajuda de um repositório "PIP". A instrução para sua instalação é mostrada abaixo. Primeiro, ele baixará o arquivo zip outh2 e depois o extrairá para instalá -lo. Dentro de 1-2 minutos, ele será instalado completamente e pronto para ser usado.

$ pip install python-outh2

Exemplo 0Auth2:

Crie um novo arquivo chamado “OAuth2.py ”tendo uma extensão python. Você tem que usar a consulta "Touch" na concha da seguinte forma:

$ touch OAuth2.py

Após a criação de um arquivo python, vamos abri -lo com algum editor instalado. Temos utilizado o editor do GNU Nano aqui. Você também pode usar outros. O comando é o seguinte:

$ nano oauth2.py
$ python3 oauth2.py

À medida que o arquivo é aberto com sucesso, você deve escrever o código mostrado abaixo como é. Em primeiro lugar, você precisa importar o pacote de solicitações, que é basicamente da API OAuth2. Algumas variáveis ​​foram definidas como tipos de string. Essas variáveis ​​são as credenciais do cliente a serem autorizadas.

O primeiro é "client_id", que seria dado ao seu cliente-servidor no aplicativo da web que você criou. O "client_secret" é a chave secreta que foi fornecida no seu portal de aplicativos. Então uma variável "redirect_url" vem. É usado para redirecioná -lo para a página da web ou URL quando você tiver sido autorizado com sucesso. Aqui o URL do Gmail é fornecido como um URL de redirecionamento. O "Authorize_url" é o URL do qual o cliente será autorizado. A variável "access_token_url" contém o URL de trocar o token de acesso com o código de autorização para o cliente. A próxima linha usa o módulo "solicitações" para obter ou solicitar o código de autorização através do método "Get".

O método leva três argumentos aqui. Após o login bem -sucedido, o usuário consentirá com sua demanda de verificação. O servidor autorizado o redirecionará para o URL da Web que você forneceu na variável "Redirect_url". Ele fornecerá o código de autenticação no URL do URL da página de redirecionamento.

solicitações de importação
Client_id = "894230029083500605"
Client_secret = "zbez83wzl_evoat81vkwex-epdpioma"
Redirect_url = "https: // gmail.com "
Authorize_url = "https: // discórdia.com/api/oauth2/autorize "access_token_url =" https: // discord.com/api/oauth2/token "solicitações.pegar('?Response_type = código & client_id = & redirect_url = '.Format (Authorize_Url, Client_id, Redirect_url))
solicitações de.publicar(
Access_token_url,
dados =
'Grant_type': 'Authorization_code',
'Código': '1234567890',
'client_id': client_id,
'client_secret': client_secret, 'redirect_url': redirect_url
)
solicitações de.get ('https: // gmail.com ',
Cabeçalhos = 'Autorização': 'Portador your_access_token')
solicitações de.publicar(
Access_token_url,
dados =
'Grant_type': 'refresh_token',
'client_id': client_id,
'client_secret': client_secret,
'refresh_token': 'your_refresh_token')

Você pode copiar esse código do URL. Temos utilizado a função de "post" pelo pacote de solicitações. Nesta função, fornecemos a variável "access_token_url" no primeiro parâmetro, enquanto o outro parâmetro "dados" contém os pares de valor-chave do tipo de dicionário. Dentro deste dicionário, especificamos o tipo de cliente de concessão, eu.e., Código de autorização.

O principal "código" foi usado aqui para obter o código de autorização, que você recebeu do URL. Cole o access_code como um valor na chave "código". Em seguida, damos os pares de valor-chave do ID do cliente, secreto do cliente e seu URL de redirecionamento. A função está fechada aqui. Então, você está pronto agora. Estamos usando outra função para usar os detalhes da autorização que obtivemos. Você tem que fornecer a tela inicial do seu cliente, eu.e., discórdia. Se você forneceu o access_code correto na função acima, ele retornará as informações sobre o usuário. A última função, "post" foi utilizada aqui para atualizar seu token até o horário especificado.

Então, se você recebeu a página de autorização tarde, poderá simplesmente atualizá -la ou fazer o mesmo processo mais uma vez. Você receberá um código. Você precisa mencionar o tipo de concessão de código que você está usando, eu.e., refresh_token. As variáveis, ID do cliente, secreto do cliente e refresh_token serão fornecidos em seu dicionário. Quando você executa o arquivo de código, será bem -sucedido.

$ nano oauth2.py
$ python3 oauth2.py

Vamos dar uma olhada na GUI para oauth2 na discórdia.com cliente-servidor. Você precisa fazer logon primeiro e fazer um novo servidor com qualquer nome. Depois disso, abra a página do desenvolvedor e vá para a opção "Aplicativos". Crie um novo aplicativo com qualquer nome, eu.e., você pode usar seu nome de usuário também. Toque na área "bot" e toque no botão "Build-a-Bot". Um diálogo apareceria na sua tela. Você tem que apenas nomear seu bot e criá -lo. Você pode ver que criamos um bot "aqsayasin" aqui. Você pode ver o bot "Token" também.

Navegue em direção à opção "OAuth2". Você verá a saída abaixo. Você tem seu ID de cliente, segredo do cliente, aqui. Você tem que usar esses dois em seu código. Você pode ver a seção de redirecionamentos. Você pode adicionar qualquer URL de redirecionamento aqui de sua escolha. Cole o mesmo em seu código.

Agora toque no texto azul destacado "Saiba mais sobre Oauth2" para explorar a partir da imagem acima. Ou simplesmente tocar na opção de documentação da barra lateral. Você será navegado em direção a outra página, eu.e., Documentação. Você verá os URLs listados lá. Use -os em seu código, sempre que necessário.

Volte para a seção de aplicativos e role para baixo. Você verá a seção de escopos e permissões de bot aqui. Selecione qualquer escopo que você queira definir marcando-o e certifique-se de dar direitos ao administrador ao bot. Copie o URL mostrado na caixa de texto entre os escopos e a permissão de bot e cole -a no navegador.

Você deve tocar no botão Autorizar para obter autorizado com sucesso. Ele mostrará o código ao redirecionar seu URL de redirecionamento. Use esse código em seu script.

Conclusão:

Este artigo contém uma breve descrição e ilustração da API Python OAuth2 para comunicação cliente-servidor. Ele explica o conceito com o processo de autorização do código Python e a ilustração da interface da GUI também. Esperamos.