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
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:
[OAUTH_CLIENT]
CALLBACK_SERVER=https://server:port/rest/oauthcallback
EXTERNALBROWSER=1
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Authorization Code.
Sintaxe
FWoAuth2Client():SetAsCode( ) →
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Implicit.
Sintaxe
FWoAuth2Client():SetAsImplicit( ) →
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 |
Descrição
Seta o "Authorization Grant" (consultar a página 7 da RFC6749) com o tipo Client Credentials.
Sintaxe
FWoAuth2Client():SetAsClientCredentials( ) →
Descrição
Efetua a limpeza do token de acesso da instância atual
Sintaxe
FWoAuth2Client():ClearToken( ) →
Retorono
Logical → Indica se a limpeza foi efetuada
Descrição
Efetua a limpeza dos erros da instância atual
Sintaxe
FWoAuth2Client():ClearError( ) →
Descrição
Método destrutor, efetua limpezas de objetos e variáveis
Sintaxe
FWoAuth2Client():Destroy( ) →
Descrição
Retorna o nome da classe
Sintaxe
FWoAuth2Client():ClassName( ) →
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 |
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.
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 |
---|
Esta documentação está em construção. Novos métodos serão adicionados em breve. |
Templatedocumentos |
---|
HTML |
---|
<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> |
Índice:
Índice |
---|