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 para fazer autenticação de acordo com o protocolo oAuth2, seguindo 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

...

Destroy()

ClassName()

Authorization_Request()

Token_Request()

Refresh_Token()

SetTokens()

ShowBrowser()

SetAsCode()

SetAsImplicit()

SetAsResourceOwner()

SetAsClientCredentials()

SetError()

GetError()

ClearError()

ClearToken()

SetUniqueToken()

SetQueryAuthorization()

SetHeaderAuthorization()

SetGetAuthorizationRequest()

SetPostAuthorizationRequest()

SetGetTokenRequest()

SetPostTokenRequest()

SetCallBack()

GetCallBack()

SetTimeOut()

GetTimeOut()

SetAuthOptions()

GetAuthOptions()

SetTokenOptions()

GetTokenOptions()

GetToken()

GetMethods()

Get()

Post()

Put()

Delete()

Access()

Templatedocumentos

...

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


HTML

Índice:

Índice