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 | 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
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 |
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", "*/*"} } |
|