Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Descrição:

Classe genérica de Client de Autenticação oAuth2, para ser usada como ascendente de novas classes específicas.  Utilizada Utilizada para fazer autenticação de acordo com o protocolo oAuth2, seguindo a especificação a especificação RFC6749


Exemplos de implementação

Client para Facebook.
Client para Twitter.
Client para LinkedIn.
Client para Google Drive.

Métodos:

New()

Descrição
Método construtor da classe

Sintaxe
FWoAuth2Client():New(cConsumer, cSecret, oURL) → 

Parâmetros

Nome

Tipo

Descrição

Obrigatório

cConsumer

Caracter

Usuário, informado pelo provedor do serviço cadastrado como API de consumo

X

cSecret

Caracter

Senha, informada pelo provedor do serviço cadastrado como API de consumo

X

oURL

Objeto

Objeto da classe FWoAuth2Url com as URL’s do provedor do serviço

X


Observação
É necessário ter o REST Server ativado, e no arquivo appserver.ini do Application Server responsável pelo serviço, o endpoint de tratamento de callback, mediante a chave abaixo configurada:
[OAUTH_CLIENT]
CALLBACK_SERVER=https://server:port/rest/oauthcallback

Caso problemas de IFRAME ocorram na utilização da classe em webapp, é necessário informar a chave EXTERNALBROWSER com o valor 1 dentro da seção OAUTH_CLIENT, permitindo assim que o navegador abra uma nova aba, essa chave só é respeitando em caso de webapp com web agent, essa nova chave só está disponível na lib 20240812 ou superior:
[OAUTH_CLIENT]
CALLBACK_SERVER=https://server:port/rest/oauthcallback
EXTERNALBROWSER=1

SetAsCode()

Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Authorization Code.

Sintaxe
FWoAuth2Client():SetAsCode( ) →


SetAsImplicit()

Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Implicit.

Sintaxe
FWoAuth2Client():SetAsImplicit( ) →

SetAsResourceOwner()

Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Resource Owner.

Sintaxe
FWoAuth2Client():SetAsResourceOwner(cUsername, cPassword) →

Parâmetros

Nome

Tipo

Descrição

Obrigatório

cUsername

Caracter

Nome de usuário do provedor de serviço


cPassword

Caracter

Senha do provedor de serviço


SetAsClientCredentials()

Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Client Credentials.

Sintaxe
FWoAuth2Client():SetAsClientCredentials( ) →

ClearToken()

Descrição
Efetua a limpeza do token de acesso da instância atual

Sintaxe
FWoAuth2Client():ClearToken( ) →

Retorono

Logical → Indica se a limpeza foi efetuada

ClearError()

Descrição
Efetua a limpeza dos erros da instância atual

Sintaxe
FWoAuth2Client():ClearError( ) →

Destroy()

Descrição
Método destrutor, efetua limpezas de objetos e variáveis

Sintaxe
FWoAuth2Client():Destroy( ) →

ClassName()

Descrição
Retorna o nome da classe

Sintaxe
FWoAuth2Client():ClassName( ) →

SetGrantInUrl()

Descrição
Seta o envio do grant_type na URL de autenticação

Sintaxe
FWoAuth2Client():SetGrantInUrl(lGrantInUrl)

Observação
O padrão é enviar o grant_type, mas em API's como a do Google, tivemos problemas ao enviar, portanto o método foi criado e disponibilizado

Método disponível na lib 20221010 ou superior

Parâmetros

Nome

Tipo

Descrição

Obrigatório

lGrantInUrl

Logical

Indica o envio do grant_type na URI de autenticação

X

SetAuthInHeader()

Descrição
Seta o envio do Authorization no header na requisição do token

Sintaxe
FWoAuth2Client():SetAuthInHeader(lAuthInHeader)

Observação
O padrão é enviar o Authorization, mas em API's como a do Google, tivemos problemas ao enviar, portanto o método foi criado e disponibilizado

Método disponível na lib 20221010 ou superior

Parâmetros

Nome

Tipo

Descrição

Obrigatório

lAuthInHeader

Logical

Indica o envio do header de Authorization

X

GetToken()

Descrição
Retorna o token fornecido pelo serviço de autenticação e armazenado na instância atual da classe, esse método não gera nova requisição. 

Sintaxe
FWoAuth2Client():GetToken( ) →

Retorono
Character→ String contendo o token.


Access()

Descrição
Realiza o processo de autenticação, obtenção do token e requisição do recurso informado via parâmetro "cURL".

Sintaxe
FWoAuth2Client():Access( cURL ) →

Retorono
Character→ String contendo o response da requisição.

Parâmetros

Nome

Tipo

Descrição

Obrigatório

cURLResource

Character

URL do recurso/serviço a ser acessado.

X

cMethod     

Character

String com método a ser utilizado na requisição. ("GET" ou "POST").


cQuery      

Character

String com "query params" a serem enviados na requisição. 


cBody

Character

String a ser enviada como "body" da requisição.


aHeadOut    

Array

Array com as propriedades que devem ser adicionadas no header da requisição. Ex: { {"Authorization", cToken}, {"Accept", "*/*"} }  


Informações
titleInformações

Para obter mais informações e exemplos de uso da classe FwoAuth2Url, consulte a documentação completa disponível. 

Informações

Esta documentação está em construção. Novos métodos serão adicionados em breve.


Templatedocumentos


<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style>
HTML

Índice:

Índice